Java - [Ayuda Java] error al leer archivo xml

 
Vista:

[Ayuda Java] error al leer archivo xml

Publicado por Mauro10 (2 intervenciones) el 06/06/2013 15:48:10
Hola comu, les tengo una consulta, necesito leer un archivo xml generado por otro programa. e visto muchas guias y tutoriales. pero no puedo ni abrir el archivo, ya probe con dom, sax y ahora estoy probando con JDom.
todos el mismo error:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Byte no válido 1 de la secuencia UTF-8 de 1 bytes
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:687)
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:557)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1753)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(XMLEntityScanner.java:1426)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2754)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
	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:123)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
	at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:217)
	at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:277)
	at org.jdom2.input.sax.SAXBuilderEngine.build(SAXBuilderEngine.java:264)
	at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1116)
	at Vistas.Principal.archivosMouseClicked(Principal.java:258)


mi codigo para abrir el archivo es este:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.io.File;
import java.io.IOException;
import java.util.List;
 
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
 
SAXBuilder builder = new SAXBuilder();
        File xmlFile = new File(RUTA COMPLETA DEL XML);
        try{
            Document document = (Document) builder.build( xmlFile );//ACA TIRA LA EXCEPCION
            Element rootNode = document.getRootElement();
            List list = rootNode.getChildren( "RaceResults" );
 
        }catch ( IOException io ) {
            io.printStackTrace();
        }catch ( JDOMException jdomex ) {
            jdomex.printStackTrace();
        }


mi archivo xml empieza asi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rF [
<!ENTITY rFEnt "rFactor Entity">
]>
<rFactorXML version="1.0">
<RaceResults>
<Setting>Multiplayer</Setting>
<ServerName>rFactor</ServerName>
<PlayerFile>player</PlayerFile>
<DateTime>1369875530</DateTime>
<TimeString>2013/05/29 21:58:50</TimeString>
.
.
.
.
.


como ven en el xml, es generado por un juego, el rfactor, estoy haciendo un programa que me lea el Log, escrito en xml, y me muestre de manera mas amigable.

si alguien conoce algo sobre ese error, seria tan amable de darme una mano?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

[Ayuda Java] error al leer archivo xml

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 06/06/2013 22:24:56
Hola,
Primero te recomendaria la clase electric.xml.*; para tratar los xml's. Son muchos mas rapidos y frameworks como ejb, jsf, etc lo utilizan. lo otro es que el error se da porque lo que dices ser un xml no lo es. por ejemplo:
<rFactorXML version="1.0">
<RaceResults>

Estas etiquetas no se cierran. La excepción es muy clara, ya que indica que esta mal formado el documento XML.
espero te ayude.
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

[Ayuda Java] error al leer archivo xml

Publicado por Mauro10 (2 intervenciones) el 07/06/2013 01:26:55
no puse el xml completo, xq es grande.
este es el completo:
https://docs.google.com/file/d/0B6Qrf-i_gvhfVFRiZW5GZHpmdU0/edit?usp=sharing
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jhonnathan Emilio Cardona Saineda

[Ayuda Java] error al leer archivo xml

Publicado por Jhonnathan Emilio Cardona Saineda (328 intervenciones) el 07/06/2013 15:18:17
HOla,
Yo utilice las siguientes clases, y me funcionaron bien.:
1
2
3
4
5
6
7
8
import electric.xml.Document;
import electric.xml.Element;
import electric.xml.Elements;
import electric.xml.ParseException;
import electric.xml.XPath;
 
Document document =new Document(new File("juegoTest.xml"));//No lanza exepción
Element e= document.getElement(new XPath("/rFactorXML/RaceResults/Setting"));

El jar utilizado fue EXML.jar, tambien es encontrada como electric-xml-1.0.0.jar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar