dedlfix: XML PHP Probleme mit HTML Zeichen

Beitrag lesen

Tach!

über eine API Abfrage erhalte ich eine XML Datei. Darin sind zum Teil Zeichen wie "&" enthalten.

Das ist ein Fehler. Das & ist in XML ein Sonderzeichen und muss zwingend umgeschrieben werden. Im Gegensatz zu den HTML-Parsern sind die XML-Parser von Haus aus wesentlich strenger.

Da ich viele Abfragen mache, sollte es automatisiert laufen. Datei händisch öffnen, suchen + ersetzen sollte nicht die Lösung sein. Was kann ich machen, um alle XML Daten die ich über die API erhalte auch einlesen zu können?

Du solltest den Verursacher anschreiben, dass er valides XML produzieren soll. Anderenfalls kannst du nicht unterscheiden, wann ein & falsch ist und ersetzt werden muss und wann nicht. Du kannst lediglich generell davon ausgehen und hoffen, dass alles gut geht, dass eine gültige mit & beginnende Sequenz unangetastet bleiben soll und alle anderen & durch & ersetzt werden sollen. Das muss man nicht händisch machen, das kann man den String- oder Regexp-Funktionen überlassen. Alternativ kannst du in der Dokumentation nachschauen, ob es einen Parameter gibt, der den XML-Parser großzügiger werden lässt.

dedlfix.