Java, XML DocumentBuilder - Einstellung für das encoding beim Parsen
Ich bin versucht zu retten, einen Baum (erweitert JTree
), die eine XML
Dokument zu einem DOM Object
nachdem verändert seine Struktur.
Ich habe ein neues Dokument erstellt Objekt, durchquerte den Baum zum abrufen der Inhalte erfolgreich (einschließlich der ursprünglichen Kodierung des XML
Dokument), und haben jetzt eine ByteArrayInputStream
was hat der Baum Inhalt (XML
Dokument) mit der richtigen Codierung.
Das problem ist, wenn ich parse die ByteArrayInputStream
die Codierung geändert wird, um UTF-8
(in der XML
Dokument) automatisch.
Gibt es eine Möglichkeit, dies zu verhindern und die Verwendung der richtigen Codierung wie in der ByteArrayInputStream
.
Es lohnt sich auch hinzufügen, dass ich bereits das
transformer.setOutputProperty(OutputKeys.ENCODING, encoding)
- Methode zum abrufen der richtigen Codierung.
Jede mögliche Hilfe würde geschätzt.
InformationsquelleAutor Ralph D | 2010-08-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auch wäre es sinnvoll zu erwähnen, welche
XMLSerializer
Sie verwenden.org.apache.xml.serialize.XMLSerializer
Nehme ich an ? - mit dem "internen" von der Sonne-Paket wäre wirklich eine schlechte Praxis.InformationsquelleAutor Andrey
Hier ist eine aktualisierte Antwort, da OutputFormat ist veraltet :
Den zweiten Teil zurückkehren wird, das XML-Dokument als String
InformationsquelleAutor Cyril N.
Ich es gelöst, gegeben eine Menge von Versuch und Fehler.
War ich mit
aber verändert es
und das ist mein problem gelöst.
encoding
ist das, was ich eingestellt habe, es werdentrue
bezieht sich auf, ob oder nicht Spiegelstrich festgelegt ist.Notiz an mich selbst - mehr Lesen sorgfältig hatte ich in der javadoc-Stunden - und wenn auch nur, ich hätte mehr Lesen sorgfältig.
InformationsquelleAutor Ralph D
Dieser arbeitete für mich und ist sehr einfach. Keine Notwendigkeit für einen Transformator oder output formatter:
InformationsquelleAutor Matt