Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/09/2015, 11:37
wagego
 
Fecha de Ingreso: agosto-2015
Mensajes: 24
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Problema con xml

Mi XML empieza de la siguiente manera.

<?xml version="1.0" encoding="ISO-8859-1"?><?xml version="1.0" encoding="utf-8"?><EnvioCFE_entreEmpresas xmlns:xsd="http:....................... etc.

Si hago un:
XMLStreamReader xmlStreamReader = XMLInputFactory.newInstance().createXMLStreamReade r( new FileReader( file ) );

el String encodingFromXMLDeclaration = xmlStreamReader.getCharacterEncodingScheme(); me dice que es un ISO-8859-1

Ahora, entiendo entonces que deberia borrar la parte de <?xml version="1.0" encoding="utf-8"?> ya que al decirme que es un ISO-8859-1 esa declaración no la tengo que borrar.

Profesor_Falken ¿cómo hago para hacer lo que me sugeriste teniendo el XML en el escritorio?.

Yo lo que hago para recorrer el xml (los pases que andan bien es lo siguiente).

public Document lectorFileXML(String ruta) throws ParserConfigurationException, SAXException, IOException {

xmlFile = new File(ruta);
documentFactory = DocumentBuilderFactory.newInstance();
documentBuilder = documentFactory.newDocumentBuilder();
doc = documentBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();

return doc;

}

y luego a ese documento (doc) que esta parseado le voy preguntando valores de ciertos tags (o nodos)
Element el = (Element) doc.getElementsByTagName(tag).item(0);