O que eu quero fazer eh gerar uma String com o conteudo entre e por exemplo :
“Joe 1231234-456”
Ate agora eu fiz esse codigo :
publicclassXMLReader{privateDocumentdoc;privateElementelem;privateNodeListnodelist;publicXMLReader(Stringfile){doc=(Document)readfile(file);System.out.print(">> Reading file "+file+" ok !\n\n");elem=doc.getDocumentElement();nodelist=elem.getElementsByTagName("Person");System.out.println(">> Total number of nodes 'Person' : "+nodelist.getLength());}publicObjectreadfile(Stringfilename){Documentdoc=null;try{Filefile1=newFile(filename);DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();DocumentBuilderdb=dbf.newDocumentBuilder();doc=db.parse(file1);}catch(Exceptione){e.printStackTrace();}returndoc;}publicstaticvoidmain(String[]args){newXMLReader(args[0]);}}
Esse codigo ta pegando o numero correto elementos “person” mas agora queria pegar tudo o que esta dentro de “person” e concatenar num String. Tem algum jeito de fazer isso?
Eu quero “pegar” tudo que esta entre e (detalhe que eu nao nao quero ter que me preocupar com o nome dos childnodes). Quero pegar tudo isso e jogar pra uma variavel string.
Mas valeu mesmo a ajuda!
W
windsofhell
Opa! Obrigado pela ajuda, se eu fizer isso :
nodelist=elem.getElementsByTagName("firstname");for(inti=0; i < nodelist.getLength(); i++) {System.out.println(nodelist.item(i).getFirstChild().getNodeValue());
}
Realmente pega o nome do carinha no XML. Mas nao era bem isso que eu queria :
Eu quero “pegar” tudo que esta entre e (detalhe que eu nao nao quero ter que me preocupar com o nome dos childnodes). Quero pegar tudo isso e jogar pra uma variavel string. Nao quero os values eu quero o xml mesmo, por exemplo :
Uma String assim :
Joe1231234-456
Minha intencao eh pegar esse fragmento de codigo xml e transformar pra JSON Object.
Mas valeu mesmo a ajuda!
W
windsofhell
Consegui !!!
To mandando o codigo caso alguem precise :
importjavax.xml.transform.dom.*;importjavax.xml.transform.*;importjavax.xml.transform.stream.*;importjavax.xml.parsers.*;importorg.w3c.dom.*;importjava.io.*;publicclassXMLReader{privateDocumentdoc;privateElementelem;privateNodeListnodelist;publicXMLReader(Stringfile)throwsException{Transformertransformer=TransformerFactory.newInstance().newTransformer();StreamResultstream=newStreamResult(newStringWriter());DOMSourceds=newDOMSource();doc=(Document)readfile(file);System.out.print(">> Reading file "+file+" ok !\n\n");doc.getDocumentElement().normalize();DOMResultresp=newDOMResult(doc);elem=doc.getDocumentElement();nodelist=elem.getElementsByTagName("person");System.out.println(">> Total number of nodes 'person' : "+nodelist.getLength());for(inti=0;i<nodelist.getLength();i++){ds.setNode(nodelist.item(i));transformer.transform(ds,stream);System.out.println(stream.getWriter().toString());}}publicObjectreadfile(Stringfilename){Documentdoc=null;try{Filefile1=newFile(filename);DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();DocumentBuilderdb=dbf.newDocumentBuilder();doc=db.parse(file1);}catch(Exceptione){e.printStackTrace();}returndoc;}publicstaticvoidmain(String[]args)throwsException{newXMLReader(args[0]);}}