Haben Sie eine JavaRCP
Anwendung, die JAXB
verwendet, um eine XML-Datei zu generieren, nimmt es im Grunde auch Eingabe (Sonderzeichen) aus Textfeld in XML zu speichern und anzuzeigen aus XML entpacken.So schreiben und lesen Sie Sonderzeichen und Symbole aus XML mit JAXB
Der Benutzer kopiert die Konsolenausgabe (kann Sonderzeichen enthalten), fügt sie in das Textfeld ein und speichert sie in einem XML-Code.
xml version="1.0" encoding="UTF-8" jaxb version is 2.1.10 in JDK 1.6_21.
Wenn unmarshalling, eine unmarshall Ausnahme empfangen:
[org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x1b) was found in the element content of the document]
Es ist ein ungültiges gefunden XML-Zeichen, wenn die XML-unmarshalling. Ich suchte in diesem Forum nach Hilfe und fand nur wenige Links, aber keiner von ihnen hat eine Lösung oder eine Problemumgehung. Kann mir jemand helfen?
Ich habe mit anderen Codierungstypen versucht, aber mit keinem Erfolg. Muss ich dieses Zeichen vor dem Speichern/Marshalling durch den entsprechenden Zeichencode ersetzen?
Im Folgenden sind die Links, die zu meinem Problem näher sind: Saving an escape character 0x1b in an XML file Invalid Characters in XML
Das ist ärgerlich, und genau die Art von daftness, die mich manchmal mit Leidenschaft hassen XML macht, aber es ist in der Tat wahr. In der Anwendung, an der ich gerade arbeite, haben wir einen Bereinigungsschritt, der eine Vielzahl verdächtiger Zeichen durch Leerzeichen ersetzt, um dieses Problem zu vermeiden. –
Danke für die Antwort, aber ich stolperte über diesen JAXB-Fehler, der noch offen ist: http://java.net/jira/browse/JAXB-614 Beschreibung des Fehlers erklärt alles. – user1328572