Simplexml und Sonderzeichen
ralf33
- php
Hallo,
Wenn ich mit Simplexml und PHP ein XML File erstellen will, das das Zeichen "&" enthält bekomme ich einige Fehlermeldungen:
unterminated entity reference
parser error : xmlParseEntityRef: no name
Call to a member function asXML() on a non-object
Wenn ich as "&" entfernde, passt alles.
Was muss ich ändern, damit auch Sonderzeichen mit Simplexml verarbeitet werden können?
Gruß
ralf
Was muss ich ändern, damit auch Sonderzeichen mit Simplexml verarbeitet werden können?
& ist kein sonderzeichen sondern ein art steuerzeichen in xml - das gehört entsprechen maskiert - das sollte dir aber beim validieren deines xml-dokuments bereits aufgefallen sein
Leider nicht.
Wie ist die weitere Vorgehensweise, d.h. wie geschieht die Validierung? Wie die Maskierung?
Wie ist die weitere Vorgehensweise, d.h. wie geschieht die Validierung? Wie die Maskierung?
verarbeitung von xml-dateien durch einen xml-parser ist nur dann sinnvoll, wenn die datei wohlgeformt ist sowie alle relevanten steuerzeichen entsprechend maskiert sind
xml-validatoren gibt es wie sand am meer (online wie offline) - zb dieser hier:
http://www.validome.org/xml/
meistens reicht sogar ein entsprechendes syntax-schema für den eigenen texteditor (oder am besten ein xml editor, der es garnicht erlaubt nicht wohlgeformten code zu schreiben) damit man sofort sieht, wenn man einen fehler macht, auch ohne zu valideren
maskiert werden jene zeichen entwender durch einen cdata-bereich (wenns viele zeichen in langen zeichenketten sind) oder durch jeweilige entitites ersetzt
http://de.selfhtml.org/xml/regeln/zeichen.htm