2012-03-26 10 views
0

Ich benutze JAXB, um XML-Stream zu analysieren. Dieser Stream kann HTML-formatierte Daten enthalten. Wenn ich unmarshalling dieses xml mit jaxb für ungültige HTML-Inhalte wie <BR> ohne End-Tag, <P> usw. Ich bekomme die folgende Fehlermeldung:Wie verhindert man HTML-formatierte Datenanalyse über JAXB

javax.xml.bind.UnmarshalException 
- with linked exception: 
[org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 2987; The element type "BR" must be terminated by the matching end-tag &lt;/BR&gt.] 

at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(Unknown Source) 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(Unknown Source) 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unknown Source) 
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unknown Source) 
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source) 
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source) 
at arserImpl$JAXPSAXParser.parse(Unknown Source) 

Gibt es trotzdem, durch die ich HTML verhindern kann formatierte Daten analysieren/validieren oder kommentieren einige Daten in XML, die als reiner String interpretiert werden.
Vielen Dank im Voraus.

Antwort

0

Dies schlägt fehl, da es sich um ungültiges XML handelt. Die beste Lösung wäre, dass das, was dieses Produkt produziert, zu gültigem XML-Code wird.

Wenn Sie diese Datei vorverarbeiten können, besteht die Möglichkeit, Teile der Daten als einfachen Text zu behandeln, in einen Abschnitt CDATA.

2

Sie können etwas wie JTidy verwenden, um Ihre Eingabe zuerst in gültiges XML zu konvertieren.

Verwandte Themen