Fehlermeldung: "Content is not allowed in prolog"

G

Gast2

Gast
Moin!

Ich versuche ins XML parsen einzusteigen und komme nicht sehr weit.
Mit "Java ist auch eine Insel" habe ich ein Progrämmchen geschreiben.
Das sieht so aus:
Java:
import java.io.File;
import javax.xml.parsers.*;
import org.w3c.dom.Document;

public class Test {
	public static void main(String[] args) throws Exception
	  {
	    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
	    DocumentBuilder builder = factory.newDocumentBuilder();
	    File file = new File("party.xml");
	    Document document = builder.parse(file);
	    System.out.println(document.getFirstChild().getTextContent());
	  }
}

Bekomme aber leider nur die Fehlermeldung:
[Fatal Error] party.xml:1:1: Content is not allowed in prolog.
Exception in thread "main" org.xml.sax.SAXParseException: Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at testen.Test.main(Test.java:18)

Zeile 18 ist:
Java:
Document document = builder.parse(file);

Was bedeutet: "Content is not allowed in prolog"? ???:L

Und wie bekomme ich den Code zum laufen? ???:L

Frank
 
M

maki

Gast
Den Kommentar nach der XMl decleration anstatt davor einfügen.

Also, anstatt
[xml]<!-- Kommentartext wie zB. Lizenzinformationen.. -->
<?xml version="1.0" encoding="UTF-8" ?>
...
[/xml]
das hier:
[xml]
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Kommentartext wie zB. Lizenzinformationen.. -->
...
[/xml]
 
G

Gast2

Gast
Dann zeig doch mal die ersten Zeilen deiner XML-Datei.

[XML]<?xml version="1.0" ?>
<party datum="31.12.01">
<gast name="Albert Angsthase">
<getraenk>Wein</getraenk>
<getraenk>Bier</getraenk>
<zustand ledig="true" nuechtern="false"/>
</gast>...

...<gast name="Zacharias Zottelig"></gast>
</party>[/XML]

Das sind (fast) alle Zeilen.
 

tfa

Top Contributor
Sieht korrekt aus. Vielleicht stimmt was mit dem Datei-Encoding nicht. Was verwendest du?
Der Parser sagt, dass schon das erste Zeichen in Zeile 1 nicht korrekt ist.
 
G

Gast2

Gast
Benutze lieber kein Wordpad.

Ich habe es im Windows Editor gesteckt und gespeichert und jetzt funktioniert's! :D
Ich danke Euch, besonders natürlich tfa. :applaus:

Aber es gab ja zwei Fragen.
Die zweite Frage war:
Was bedeutet: Content is not allowed in prolog ? ???:L

(Ist ja auch der Titel des Themas. Und für's nächste mal...)

Frank
 

Tobias

Top Contributor
[XML]<?xml version="1.0" ?>[/XML]

Diese Zeile ist der Prolog des Dokuments. Er muss immer ganz am Anfang der Datei stehen - ohne irgendwelche (nicht sichtbaren) Steuerzeichen davor.
 
M

maki

Gast
[XML]<?xml version="1.0" ?>[/XML]

Diese Zeile ist der Prolog des Dokuments. Er muss immer ganz am Anfang der Datei stehen - ohne irgendwelche (nicht sichtbaren) Steuerzeichen davor.
hi Tobias,

das stimmt leider nicht.

Was du da zeigst ist die sog. "XML decleration", der Prolog kommt davor.
 

Ähnliche Java Themen

Neue Themen


Oben