Wie kann man das ecncoding in einem vorhandenen Document-Objekt ändern?

bobymiller

Mitglied
Servus !

Vielleicht kann mir jemand bei folgender Problematik weiter helfen:

Ich übergebe der unteren Methode xmlToString ein Document-Object mit vorhandenen XML-Daten. Jetzt enthält die erste Zeile der XML-Daten die folgende XML Deklaration.

[XML]
<?xml version="1.0" encoding="IBM0114" standalone="no"?>
[/XML]

Ich möchte nun das encoding von encoding="IBM0114" aus encoding="UTF-8" umstellen.
Leider ist mir bisher keine Methode bekannt womit ich das encoding im Document-Objekt ersetzen oder neu setzen könnte.

Ich erhalte bisher immer folgende Warnung:

Warning: The encoding 'IBM0114' is not supported by the Java runtime.

Leider darf ich die Warnungen auch nicht per Compiler Einstellungen einfach so unterdrücken. Ich benötige eine Möglichkeit die Sache irgendwie innerhalb der Methode xmlToString zu ändern und das noch bevor die Transformation ausgeführt wird.

Java:
public static String xmlToString(Document xml) throws TransformerException {
	
		Transformer transformer = TransformerFactory.newInstance().newTransformer();
		transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
		transformer.setOutputProperty(OutputKeys.METHOD, "xml");
		transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
		transformer.setOutputProperty(OutputKeys.INDENT, "no");
		
		DOMSource dom = new DOMSource(xml);
		Writer out = new StringWriter();
		transformer.transform(dom, new StreamResult(out));
		
		return out.toString();
	}

Danke schon einmal für Eure Hilfe.

So long...
boby
 

Ähnliche Java Themen

Neue Themen


Oben