Erro na leitura de um arquivo XML

3 respostas
Growth

Caros amigos,

Estou com problema para ler um arquivo XML.

No início do meu arquivo XML tem um arquivo com sufixo “.dtd”, e é
justamente esse arquivo que está dando erro.

meu XML :

<?xml version="1.0" encoding="utf-8" ?> audio 8 yes 1 3 always VXKB001.DLL VXVD001.DLL VXHS001.DLL

Msg de erro : “External entity not
found: “file:/D:/Projetos/Java/Voxlans/C:\VOXLANS\BIN\VOXconfg.dtd”.”

Observação: O arquivo VOXconfg.dtd está no diretório correto.

o método que lê o arquivo XML :

public static int lePorta(String sTagPerif) throws Exception

{

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

DocumentBuilder db = dbf.newDocumentBuilder();

Document doc = db.parse( D:\Projetos\Java\Voxlans\VOXconfg.xml );
Element elem = doc.getDocumentElement();

// pega o elemento sTagPerif do XML.

NodeList node = elem.getElementsByTagName( sTagPerif );

// pega os atributos de sTagPerif

Element tag = (Element) node.item( 0 );

int iPort = Integer.parseInt( tag.getAttribute( port ) );

return iPort;
}

Antecipadamente agradeço.

3 Respostas

E

tenta colocar o .dtd na mesma pasta do arquivo xml…
e muda a localização do .dtd dentro do seu xml…

o seu compilador ta procurando o arquivo no lugar errado…

“file:/D:/Projetos/Java/Voxlans/C:\VOXLANS\BIN\VOXconfg.dtd” ???

ele ta incluindo a pasta do projeto como prefixo do arquivo .dtd: “D:/Projetos/Java/Voxlans/”

falow

Growth

Olá.

Tudo bem, vou tentar fazer como vc me pediu.

Porém, mesmo que funcione, eu preciso que o arquivo VOXconfg.dtd fique no diretório que está dando o problema.

O que devo fazer para que funcione do jeito que está meu código hoje ?

Growth

emoretto:
tenta colocar o .dtd na mesma pasta do arquivo xml…
e muda a localização do .dtd dentro do seu xml…

o seu compilador ta procurando o arquivo no lugar errado…

“file:/D:/Projetos/Java/Voxlans/C:\VOXLANS\BIN\VOXconfg.dtd” ???

ele ta incluindo a pasta do projeto como prefixo do arquivo .dtd: “D:/Projetos/Java/Voxlans/”

falow

Olá.

Fiz o teste colocando o arquivo “VOXconfg.dtd” no mesmo diretório do XML, e funcionou.
Porém, preciso que o arquivo VOXconfg.dtd fique no outro diretório (C:\VOXLANS\BIN). Como faço ?

Um abraço.

Criado 29 de setembro de 2006
Ultima resposta 2 de out. de 2006
Respostas 3
Participantes 2