[RESOLVIDO] - Erro DOMParser - SAXParseException

3 respostas
G

Estou com um erro quando vou fazer um parse deste xml abaixo.

<?xml version="1.0" enconding="UTF-8"?> <p:envelope xsi:type="p:envelope " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.teste.com.br/xsd"> <sistema_origem>02333</sistema_origem> <sistema_destino>45899</sistema_destino> <tipo_processo>7899545</tipo_processo> <num_ped>[telefone removido]</num_ped> <numero_bp>78979</numero_bp> <linha_terminal>123312</linha_terminal> <status>OK</status> </p:envelope >

[Fatal Error] :1:38: The encoding declaration is required in the text declaration. Exception in thread "main" br.com.teste.Exception: org.xml.sax.SAXParseException: The encoding declaration is required in the text declaration. at br.com.teste.Exception.util.xml.FileXMLAccessor.<init>(Unknown Source) at br.com.teste.Exception.util.xml.FileXMLAccessor.getInstance(Unknown Source) at br.com.teste.Exception.util.xml.XMLAccessor.getXMLAccessor(Unknown Source) at br.com.teste.Exception.initializeXML(Unknown Source) at br.com.teste.Exception.main(Unknown Source) Caused by: org.xml.sax.SAXParseException: The encoding declaration is required in the text declaration. at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:264) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292) ... 5 more

3 Respostas

G

Olhando o meu code com mais calma (debug), vi que este erro esta no momento de gerar um novo DOM.

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
			
	// abre a conexao com o arquivo para leitura.   
	InputSource is = new InputSource(new FileInputStream(xml));

	// Analise o conteúdo da fonte de entrada de dados como um documento XML e retornar um novo DOM Document objeto.  
	this.xml = builder.parse(is);
O erro ocorre nesta linha.
this.xml = builder.parse(is);

Quem poder ajudar agradeço!

E

Cuidado - você está com o nariz entupido? Está escrevendo mais Ns que o necessário.

O seu XML está com:

<?xml version="1.0" [b]enconding[/b]="UTF-8"?>

mas a palavra “encoding” se escreve com 2 letras n, não três, conforme você pode ver na mensagem de erro:

org.xml.sax.SAXParseException: The encoding declaration is required in the text declaration.

G

o erro estava nesta linha do XML

que na verdade deveria estar assim

Criado 13 de março de 2012
Ultima resposta 14 de mar. de 2012
Respostas 3
Participantes 2