Der gesamte Text im XML-Dokument wird vom Parser analysiert.
Nur Text innerhalb der CDATA-Komponente wird vom Parser ignoriert.
------------------------------------------------------- ---------------------------------------
Daten analysieren
XML-Parser verarbeiten normalerweise den gesamten Text in einem XML-Dokument.
Wenn ein XML-Element analysiert wird, wird auch der Text innerhalb des XML-Elements analysiert:
<message>This text is also parsed</message>
Der Grund, warum der XML-Parser dies tut, ist, dass im XML-Element Es kann auch andere Elemente enthalten. Wie im folgenden Beispiel enthält das Namenselement zwei Elemente: erstes und letztes:
<name><first>Bill</first><last>Gates</last></name>
Der Parser geht davon aus, dass der obige Code so ist dies:
<name> <first>Bill</first> <last>Gates</last> </name>
-------------------------- - ------------------------------------------------- - -
Escape-Zeichen
Unzulässige XML-Zeichen müssen durch die entsprechenden Entitäten ersetzt werden.
Wenn Sie in einem XML-Dokument Zeichen wie „<“ verwenden, verursacht der Parser einen Fehler, da der Parser davon ausgeht, dass dies der Anfang eines neuen Elements ist. Daher sollte der Code nicht wie folgt geschrieben werden:
<message>if salary < 1000 then</message>
Um diese Situation zu vermeiden, müssen die Zeichen „<“ in Entitäten wie folgt umgewandelt werden:
<message>if salary < 1000 then</message>
Die folgenden fünf vordefinierten Entitäten sind in XML-Dokumenten enthalten:
< < Größer-als-Zeichen
& und
' ' einfache Anführungszeichen
" " doppelte Anführungszeichen
Die Entität muss mit dem Symbol „&“ beginnen und mit dem Symbol „;“ enden.
Hinweis: Nur das Zeichen „<“ und das Zeichen „&“ sind für XML strengstens verboten. Der Rest ist legal und es ist eine gute Praxis, Entitäten zu verwenden, um Fehler zu reduzieren.
------------------------------------------------------- --------------------------------------
CDATA-Komponente
Alles in CDATA wird vom Parser ignoriert.
Wenn der Text viele „<“-Zeichen und „&“-Zeichen enthält – genau wie Programmcode, dann ist es am besten, sie alle in CDATA-Komponenten zu packen.
Eine CDATA-Komponente beginnt mit dem Tag „:
<script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1 } else { return 0 } } ]]> </script>
im vorherigen Beispiel wird der gesamte Text zwischen CDATA-Teilen vom Parser ignoriert.
CDATA-Hinweis:
CDATA-Komponenten können keine CDATA-Komponenten mehr enthalten (können nicht verschachtelt werden). Wenn die CDATA-Komponente die Zeichen „]]>“ oder „
Beachten Sie außerdem, dass zwischen den Zeichenfolgen „]]>“ keine Leerzeichen oder Zeilenumbrüche stehen.