phpbar.de logo

Mailinglisten-Archive

[php] Problem mit XMLReader

[php] Problem mit XMLReader

Peter Bieling network at media-palette.de
Mit Jun 14 14:58:32 CEST 2006


Hallo Ralf,

Ralf Eggert wrote:


>>mit XMLReader habe ich mich zwar noch nicht näher befasst, aber:
>>offenbar kommt da ein ä -> Atmosph_ä_re. Welches Zeichen steht in Deiner 
>>XML-Datei an dieser Stelle?
> 
> Ja, da steht schon Atmosphäre. Heißt denn der Auszug in der zweiten
> Meldung, dass genau bei dem "ä" der Fehler aufgetreten ist?
> 
>>Hast Du mal das Encoding testweise auf "ISO-8859-1" gesetzt?
> 
> Ja, aber dann tritt der Fehler an anderer Stelle auch auf.

aha, dann vermute ich, dass UTF-8 und Latin-1 vermischt wird. ä im 
"Klartext" dürfte da eigentlich nicht stehen, eher ein kryptisches 
Zeichen. Wenn andere ä's richtig gelesen werden, könnte das sein, dass 
sie in CData-Abschnitten stehen?

Kleines Zitat aus Selfhtml
"Alle Zeichen des Unicode-Zeichenvorrats, die Sie mit Ihrem Editor nicht 
direkt eingeben können oder die nicht im verwendeten Zeichensatz 
vorkommen, können Sie über eine numerische Angabe notieren. Die 
Notationsweise ist dabei in XML die gleiche wie in HTML 4.0, also z.B. 
für den Buchstaben ü die Notation ü (dezimal) oder ü 
(hexadezimal)."
http://de.selfhtml.org/xml/regeln/zeichen.htm

> Kann man denn solche Fehler zumindest irgendwie abfangen? Bei mir bricht
> nämlich die Verarbeitung dann genau an der Stelle ab.

Man sollte zumindest erst einmal versuchen, das Problem zu verstehen.

Zum Testen würde ich mal das problematische Stück aus der XML-Datei 
herausnehemen, und in eine vereinfachte XML-Struktur kopieren, um den 
Fehler leichter eingrenzen zu können.
Bei UTF-8-Deklaration würde ich die Umlaute mal durch die oben gezeigte 
Notation ersetzen.

Sollte der Fehler in einer verkleinerten XML-Datei immer noch auftreten, 
solltest Du mal mit einer anderen PHP-Version unter Linux testen. 
Eventuell auch mit einem anderen Parser, oder grundsätzlich mal die 
XML-Datei validieren.

Mehr Ideen vielleicht nach der nächsten Testreihe. ;-)

Viele Grüße

Peter






php::bar PHP Wiki   -   Listenarchive