Die XML-Spezifikation definiert eine Teilmenge von Unicode-Zeichen, die in XML-Dokumenten zulässig sind: Ссылка .
Wie filtere ich diese Zeichen aus einem String in Java heraus?
einfacher Testfall:
%Vor%Diese Seite enthält eine Java-Methode zum Entfernen < a href="http://en.wikipedia.org/wiki/XML#Valid_characters"> ungültige XML-Zeichen , indem getestet wird, ob jedes Zeichen innerhalb der Spezifikation liegt, obwohl nicht nach stark entmutigt Zeichen
Das Entkommen der Zeichen ist übrigens keine Lösung, da die Spezifikationen für XML 1.0 und 1.1 die ungültigen Zeichen auch nicht in ausgeblendeter Form zulassen.
Basierend auf einem Kommentar in der Link von Stephen C's Antwort und Wikipedia für die XML 1.1 Spezifikation Hier ist eine Java-Methode, die Ihnen zeigt, wie Sie ungültige Zeichen entfernen können Verwenden Sie regulären Ausdruck ersetzen:
%Vor% Verwenden von StringEscapeUtils.escapeXml(xml)
von commons-lang wird entkommen, die Charaktere nicht filtern.
Sie können regex (Regulärer Ausdruck) verwenden, um die Arbeit zu erledigen, siehe ein Beispiel in den Kommentaren hier