Ler xml com jdom

6 respostas
S

estou tentando ler um xml com jdom, estou rodando o programa em um servidor que eu nao sei qual a versao da jvm, na minha maquina o programa na da problema, mas nao roda pois o arquivo é muito grande e estoura a memoria, no servidor da o seguinte erro.

Exception in thread main java.io.FileNotFoundException: /vol01/extracao/dic-fic/dist/INDIC_20080618_174046_RET.xml (No such file or directory)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.(FileInputStream.java:106)

at java.io.FileInputStream.(FileInputStream.java:66)

at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)

at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)

at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:973)

at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:184)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:798)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)

at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:489)

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:847)

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:826)

at ler.Teste.lerXML(Teste.java:117)

at ler.Teste.main(Teste.java:266)

alguem sabe me dizer se é por causa de versao de jvm, o que o SAXBuilder precisa para funcionar?

6 Respostas

D

Vc tem certeza que existe o tal arquivo e o caminho??
A mensagem que está dando é java.io.FileNotFoundException…

Veja isso…

S

o caminho esta correto e o arquivo tb, penso que por nao ver o SAXBuilder ele deu FileNotFoundException
o erro novamente

Exception in thread main java.io.FileNotFoundException: /vol01/extracao/dic-fic/dist/INDIC_20080618_174046_RET.xml (No such file or directory)

at java.io.FileInputStream.open(Native Method)

at java.io.FileInputStream.(FileInputStream.java:106)

at java.io.FileInputStream.(FileInputStream.java:66)

at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70)

at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161)

at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:973)

at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:184)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:798)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)

at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:489)

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:847)

at org.jdom.input.SAXBuilder.build(SAXBuilder.java:826)

at ler.Teste.lerXML(Teste.java:117)

at ler.Teste.main(Teste.java:266)

Alguem sabe o que o SAXBuilder precisa para funcionar

D

Como assim " por nao ver o SAXBuilder "???

Eu uso na minha aplicação e não tenho problema nenhum… apenas adicionei o jdom.jar nas Libraries do projeto… e tudo funciona…

ramilani12

Como vc pega este xml?
Dependendo da forma ele nao irá encontrar…

S

por que o erro esta dando nesta linha do meu programa

at ler.Teste.lerXML(Teste.java:117)

e a linha 117 no meu codigo e esta:

//Este documento agora possui toda a estrutura do arquivo.
Document d = sb.build(f);

S

meu codigo onde pego o xml:

obs o arquivo esta na mesma pasta que o .jar no servidor, por isso o caminho é este correto.

File f = new File("INDIC_20080618_174046_RET.xml");

//Criamos uma classe SAXBuilder que vai processar o XML4

SAXBuilder sb = new SAXBuilder();

//Este documento agora possui toda a estrutura do arquivo.

Document d = sb.build(f);

Element indicadores = new Element(indicadores-continuidade);

Document doc = new Document(indicadores);
//Recuperamos o elemento root

Element indic = d.getRootElement();

//Recuperamos os elementos filhos (children)

List elements = indic.getChildren();

Iterator i = elements.iterator();
Criado 3 de outubro de 2008
Ultima resposta 3 de out. de 2008
Respostas 6
Participantes 3