Encoding von XML-Datei ändern

Hi!

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
 
So genau kenne ich mich da auch nicht aus, aber geht nicht sowas wie das!?

Java:
t.setOutputProperty( OutputKeys.ENCODING, "ISO-8859-1");

Gruß
eagle
 

Neue Beiträge

Zurück