javax.xml.transform Verwendung habe ich diese ISO-8859-1 Dokument, das zwei & # -encoded Zeichen enthält 쎼
und 쎶
:Dekodierung von Unicode-Zeichen in einem ISO-8859-1 codierten XML-Dokument
<?xml version="1.0" encoding="ISO-8859-1"?>
<xml>쎼 and 쎶</xml>
Frage: wie wird ein standardkonformen XML-Reader interpretieren die 쎼 und 쎶,
- ebenso wie die Ebene & # ... Saiten (nicht zu
쎼
und쎶
umgewandelt zurück) - als
쎼
und쎶
Code, um das XML zu generieren:
public void testInvalidCharacter() {
try {
String str = "\uC3BC and \uC3B6"; // 쎼 and 쎶
System.out.println(str);
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.newDocument();
Element root = doc.createElement("xml");
root.setTextContent(str);
doc.appendChild(root);
DOMSource domSource = new DOMSource(doc);
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, StandardCharsets.ISO_8859_1.name());
StringWriter out = new StringWriter();
transformer.transform(domSource, new StreamResult(out));
System.out.println(out.toString());
} catch (ParserConfigurationException | DOMException | IllegalArgumentException | TransformerException e) {
e.printStackTrace(System.err);
}
}