SAXBuilder ma problem z zaimportowaniem pliku XML

0

Co jest nie tak z tym plikiem XML? Wiem ze nie ma hadnych naglowkow z wersja etc ale sprawdzalem go w roznych validatorwach i zdaje sie byc poprawn. Pomimo tego SAXBuilder ma z nim jakis problem..

<tree>

	<etage label="1.Stock">
		<raum label="Zimmer 1" parent="1.Stock">
			<geret label="Ein/Aus" id="192.166" type="EinAusPanel" x="450" y="300" scale="0.5" mode="0"/>
			<geret label="Kinkiet" id="192.167" type="EinAusDimmerPanel" x="450" y="150" scale="0.7" parmDimmer="35" mode="1"/>
			<geret label="Termostat" id="192.169" type="TermostatPanel" x="450" y="550" scale="1.0" temp="22" letzte="Weg"/>
		</raum>
		<raum label="Zimmer 2" parent="1.Stock">
			<geret label="Rolladen" id="192.170" type="RolladenPanel" x="450" y="100" scale="1.0" mode="1"/>
			<geret label="Helligkeit Küche" id="192.171" type="WertanzeigePanel" x="450" y="300" scale="1.0" procent="50"/>
			<geret label="Ein/Aus" id="192.168" type="EinAusPanel" x="450" y="600" scale="1.0" mode="0"/>
		</raum>
		<raum label="Bad" url="http://flickr.com/photos/brimelow/">
			<geret label="Termostat" type="sym" x="100" y="200" mode="0"/>
		</raum>
	</etage>

	<etage label="Erdgeschoss">
		<raum label="Kueche" url="http://summit.stanford.edu" />
		<raum label="Wohonzimmer" url="http://mail.stanford.edu" />
		
		<raum label="Garten">
			<geret label="Bereich 1" url="http://www.craigslist.org" />
			<geret label="Bereich 2" url="http://www.actionscript.org/employment/search_positions.php" />
		</raum>
	
	</etage>

	<etage label="Keller">
		<raum label="Zimmer 12" parent="Keller" />
		<raum label="Zimmer 2" url="http://www.sherdog.com" />
		<raum label="Garage" url="http://flickr.com/photos/brimelow/" />
	</etage>


</tree>

Niby nie mam wlaczonej validacji ale dostaje takie bledy:

Program:

public static void main(String[] args) {
        try {// TODO code application logic here
        Element root = new Element("Greeting");
        Element abc = new Element("abc");
        SAXBuilder parser = new SAXBuilder();
        parser.setValidation(false);

        Document doc = parser.build(new File("c:\\tre.xml"));
        abc.setAttribute(new Attribute("align", "right"));


        root.setText("Hello JDOM");
        abc.setText("Hello JDOM");
        root.addContent(abc);
         new XMLOutputter().output(doc, System.out);
    } catch (JDOMException jex) {
      System.out.print("PARSE ERROR: " + jex.getMessage());
    } catch (Exception ex) {
      ex.printStackTrace();
    }}}

Bledy:

com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:674)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:547)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(XMLEntityScanner.java:1064)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:974)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:460)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:277)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
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 test_app.Main.main(Main.java:39)

0

Problem jest najpewniej z plikiem, w którym jest dokument. Plik powinien mieć na początku instrukcję:

<?xml version="1.0" encoding="UTF-8"?>

Dopisz to i wtedy sprawdź.

1 użytkowników online, w tym zalogowanych: 0, gości: 1