Gibt es eine Java-XML-API, die Parsen ein Dokument, ohne auflösen von Zeichen-Entitäten?

Habe ich das Programm muss um XML zu Parsen, enthält Zeichen-entities. Das Programm selbst braucht nicht zu haben, Sie werden aufgelöst, und die Liste ist groß und wird sich ändern, so will ich vermeiden, explizite Unterstützung für diese Personen, wenn ich kann.

Hier ein einfaches Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<xml>Hello there &something;</xml>

Gibt es eine Java-XML-API, die Parsen ein Dokument erfolgreich ohne die Lösung (nicht-standard -) character-entities? Idealerweise würde übersetzen Sie in ein besonderes Ereignis oder Objekt, das könnte speziell behandelt, aber ich würde dich für eine option, die wäre lautlos verdrängen.

Antwort & Beispiel:

Skaffman gab mir die Antwort: verwenden Sie einen StAX-parser, mit IS_REPLACING_ENTITY_REFERENCES auf false gesetzt.

Hier der code, den ich peitschte bis zu probieren Sie es aus:

XMLInputFactory inputFactory = XMLInputFactory.newInstance();
inputFactory.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, false);
XMLEventReader reader = inputFactory.createXMLEventReader(
    new FileInputStream("your file here"));

while (reader.hasNext()) {
    XMLEvent event = reader.nextEvent();
    if (event.isEntityReference()) {
        EntityReference ref = (EntityReference) event;
        System.out.println("Entity Reference: " + ref.getName());
    }
}

Für die oben genannten XML -, es wird gedruckt "Entity Reference: something".

können Sie ein Beispiel-XML-Datei?
Wenn Sie Entitäten in es Sie müssen definiert sein, oder Ihr Dokument nicht gültig ist.

InformationsquelleAutor Kaypro II | 2009-11-22

Schreibe einen Kommentar