Daniel Thoma: JDOM XMLOutputter Sonderzeichen

Beitrag lesen

Hallo maike,

In XML gibt es ja nur benannte Entities für < > ' " &
Alle anderen Zeichen musst Du entweder direkt ins Dokument schreiben (richtigen Zeichensatz angeben) oder Du verwendest Zeichenreferenzen.
&#xFF;

Was willst Du eigentlich hiermit erreichen?
<!ENTITY auml '&amp;auml;'>
Damit erreichst Du, dass &auml; im Dokumentinhalt durch &auml; ersetzt wird. So eine endlos rekursive Definition dürfte kaum Zulässig sein.

Die notwendigen Ersetzungen nimmt der XMLOutputter ja offensichtlich schon vor, allerdings gibt standardmäßig er utf-8 aus.
Du musst dem XMLOutputter bei der Instanzierung ein Format-Objekt (http://www.jdom.org/docs/apidocs/index.html) übergeben, dass iso-8859-1 als Encoding festlegt, damit der XMLOutputter alle Zeichen, die nicht in diesem Zeichensatz sind, durch entsprechende Zeichenreferenzen ersetzen kann.
Außerdem musst Du für den FileWriter ebenfalls iso-8859-1 als Zeichensatz festlegen, damit die Zeichen richtig codiert werden.
Statt dem FileWriter könntest Du natürlich auch einen FileOutputStream verwenden und XML-Deklaration und Doctype vom XMLOutputter erzeugen lassen.

Grüße

Daniel