Wie zu sagen, Java-SAX-Parser ignorieren ungültige Zeichen Referenzen?
Wenn Sie versuchen, zu analysieren, falsche XML mit einem Charakter-Referenzen, wie 
Java SAX-Parser stirbt einen grauenvollen Tod mit ein schwerwiegender Fehler, wie
org.xml.sax.SAXParseException: Character reference ""
is an invalid XML character.
Gibt es eine Möglichkeit, um dieses? Ich habe zu bereinigen, die XML-Datei bevor ich die hand aus, um den SAX-Parser? Wenn ja, gibt es einen eleganten Weg zu gehen über diese?
InformationsquelleAutor der Frage Epaga | 2010-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwendung von XML 1.1! skaffman ist vollkommen richtig, aber Sie können nur stick
<?xml version="1.1"?>
auf der Oberseite Ihrer Dateien und Sie werden in guter Form sein. Wenn man sich mit streams, Schreibe einen wrapper, der schreibt oder fügt hinzu, dass die processing instruction.InformationsquelleAutor der Antwort wowest
Du gehst zu haben, um clean up your XML, fürchte ich. Solche Zeichen sind ungültig gemäß der XML-Spezifikation, und kein Betrag der überredung ist, zu überzeugen der parser sonst.
Gültige XML-Zeichen für XML 1.0:
U+0009
U+000A
U+000D
U+0020
–U+D7FF
U+E000
–U+FFFD
U+10000
–U+10FFFF
Um Sie zu reinigen, Sie müssen übergeben Sie die Daten durch einen low-level-Prozessor, der behandelt Sie wie ein unicode-Zeichen stream, entfernen die Zeichen, die ungültig sind.
InformationsquelleAutor der Antwort skaffman
Ungültig ist XML-also keine parser sollte analysiert werden, ohne Fehler.
Aber Sie stoßen diese von hand gestaltete ungültige XML in der realen Welt. Meine Lösung ist manuell einfügen CDATA Marker an den Daten. Zum Beispiel,
Natürlich, Sie werden bekommen die die Daten wieder da ist und du zu tun hast, die ungültige Zeichen selbst.
InformationsquelleAutor der Antwort ZZ Coder