Jango Qel Droma
Mitglied
Hi!
ich lese über diese Funktion:
eine XML-Datei ein und arbeite mit dieser.
Mit folgender Funktion schreibe ich die geänderten Daten wieder zurück.
das Problem ist, beim schreiben ändert der automatisch das encoding von iso8859-1 in UFT-8 um, was zu Problemen beim Anzeigen von Umlauten bei bspw. Textpad führt.
Gibt es eine Möglichkeit das Encoding der XML zu ändern?
Eine Funktion getXMLEncoding() gibt es bei org.w3c.* aber eben kein setXMLEncoding()!
mfg Jango
ich lese über diese Funktion:
Code:
public static Object readXML(String xmlFilePath) {
try {
documentNode = DocumentBuilderFactory.newInstance()
.newDocumentBuilder().parse(new File(xmlFilePath));
doc = (Document) documentNode;
} catch (Exception e) {
//e.printStackTrace();
System.out.println(xmlFilePath+" konnte nicht geöffnet werden!");
}
return documentNode;
}
eine XML-Datei ein und arbeite mit dieser.
Mit folgender Funktion schreibe ich die geänderten Daten wieder zurück.
Code:
public static void saveXML(String outputfile) {
try {
FileOutputStream outputStream = new FileOutputStream(new File(outputfile));
Result output = new StreamResult(outputStream);
//Document d = doc;
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = null;
t = tf.newTransformer();
t.transform(new DOMSource(doc), output);
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
das Problem ist, beim schreiben ändert der automatisch das encoding von iso8859-1 in UFT-8 um, was zu Problemen beim Anzeigen von Umlauten bei bspw. Textpad führt.
Gibt es eine Möglichkeit das Encoding der XML zu ändern?
Eine Funktion getXMLEncoding() gibt es bei org.w3c.* aber eben kein setXMLEncoding()!
mfg Jango