# Fehlermeldung: "Content is not allowed in prolog"



## Gast2 (10. Nov 2011)

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:

```
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)
> ...



Zeile 18 ist: 
	
	
	
	





```
Document document = builder.parse(file);
```

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

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

Frank


----------



## tfa (10. Nov 2011)

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


----------



## maki (10. Nov 2011)

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]


----------



## Gast2 (10. Nov 2011)

tfa hat gesagt.:


> 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 (10. Nov 2011)

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.


----------



## Gast2 (10. Nov 2011)

tfa hat gesagt.:


> Was verwendest du?



Meinst Du, wie ich die XML erzeugt habe?

Per copy and paste aus 'n e-book nach WordPad und dann als XML gespeichert.

Frank


----------



## tfa (10. Nov 2011)

> Per copy and paste aus 'n e-book nach WordPad und dann als XML gespeichert.


Und das hoffentlich im Textformat, oder etwa als RTF?
Benutze lieber kein Wordpad.


----------



## Gast2 (10. Nov 2011)

tfa hat gesagt.:


> Benutze lieber kein Wordpad.



Ich habe es im *Windows Editor* gesteckt und gespeichert und *jetzt funktioniert's*! 
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 (10. Nov 2011)

[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.


----------



## maki (10. Nov 2011)

Tobias hat gesagt.:


> [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*.


----------



## tfa (10. Nov 2011)

maki hat gesagt.:


> hi Tobias,
> 
> das stimmt leider nicht.
> 
> Was du da zeigst ist die sog. "XML decleration", der Prolog kommt *davor*.


Stimmt auch nicht so ganz. Die XML-Deklaration (nicht decleration) ist Teil des Prologs:
Extensible Markup Language (XML) 1.0 (Fifth Edition)


----------



## ARadauer (10. Nov 2011)

dass du vorm <?xml nix schreiben darfst


----------

