takidoso
Erfahrenes Mitglied
Hallo,
<![CDATA[Heinrich & Müller GmbH]]>
Die Lösung ist wohl die beste.
Grundsätzlich habe ich den Eindruck, dass der SAXParser eh nicht so ganz sauber läuft.
Manchmal habe ich auch den Effekt wenn gar kein von den verbotenen Zeichen (< > & " ') im ganzen XML vorhanden ist, dass dann nur ein Teil des Wertes eingelesen wird.
Makiert man dann den Inhalt wie oben beschrieben geht es.
Also so wie ich SAX verstehe ist es doch so, dass es der Parserimplementierung hier überlassen wird, wie viele Zeichen in der characters-Routine mitgegeben wird. Hat vermutlich Performancegründe, die von Implementation zu Implementation verschieden gelöst sein kann. Alles was man da tun muss ist den String so lange sammeln bis das erwartete Ende (vermutlich durch einen Ende-Tag -Event gekennzeichnet) auftaucht.
Die anderen Lösungen wie z.B. JAXB sind mitunter vielleicht ganz bequem, aber siei verbratzen halt auch erheblich mehr resourcen, vor allem wenn es sich um sehr große Dateien handelt.
Ich glaube dass die Codierung der XML vielleicht Einfluß haben kann, aber eigetnlich sollte dass dennoch kein Hindernisgrund sein, da mit der richtigen Zeichensammelmimik sollte das bei allen Codierungen auch unabhängig vom Betriebssystem funktionieren.
Takidoso