SimpleXML und CDATA

09/04/2012 - 15:59 von kscheller | Report spam
Hallo,

kann es sein, dass der SimpleXML-Parser (also __construct() )
kein <[CDATA[ .. ]]> verarbeiten kann oder begehe ich einen Denkfehler?

Document sieht etwa so aus:

<site name="Scharfe Wochen">
<url>http://local.scharfe-wochen.de</url>
<docroot>/www/www.scharfe-wochen.de/htdocs/</docroot>
<templates>/www/www.scharfe-wochen.de/templates/</templates>
<rootpage lang="de" folder="" linktext="deutsche Version">
<page name="startseite">
<title>Startseite</title>
<navtitle>Startseite</navtitle>
<pathfinder>FlatPath</pathfinder>
<property name="language">de</property>
<stylesheet href="/style.css" />
<stylesheet href="/screen.css" media="screen" />
<stylesheet href="/print.css" media="print" />
<property name="ending">.html</property>
<property name="description">Scharfe Wochen -
Meerrettichwochen im Oktober in der frànkischen Schweiz</property>
<property name="charset">UTF-8</property>
<module type="TextModule" name="header">
<text>
<[CDATA[ <div id="top"><h1>Scharfe
Wochen</h1><h3>in der Frànkischen Schweiz</h3></div>

]]></text>


Der Text zwischen <text> und </text> ist das CDATA. Da es auch HTML
enthàlt, hàtte ich das gerne ungeparst und deswegen kam ich auf die
Idee, CDATA zu verwenden. Allerdings moniert der SimpleXML Parser:

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]:
Entity: line 21: parser error : StartTag: invalid element name in
/Documents/workspace/OxCMS/importXML.php on line 38
Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]:
<[CDATA[ in /Documents/workspace/OxCMS/importXML.php on line 38



Was tun?

Servus,
Konni

Ein Alkoholiker ist ein Mensch, der mehr trinkt als sein Arzt. Ergo:
richtigen Arzt waehlen. (Rainer Fonrobert in ger.ct)
 

Lesen sie die antworten

#1 Martin Honnen
09/04/2012 - 16:23 | Warnen spam
Konni Scheller wrote:

<text>
<[CDATA[<div id="top"><h1>Scharfe
Wochen</h1><h3>in der Frànkischen Schweiz</h3></div>

]]></text>


Der Text zwischen<text> und</text> ist das CDATA. Da es auch HTML
enthàlt, hàtte ich das gerne ungeparst und deswegen kam ich auf die
Idee, CDATA zu verwenden. Allerdings moniert der SimpleXML Parser:

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]:
Entity: line 21: parser error : StartTag: invalid element name in
/Documents/workspace/OxCMS/importXML.php on line 38
Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]:
<[CDATA[ in /Documents/workspace/OxCMS/importXML.php on line 38



Was tun?



Die richtige Syntax ist
<![CDATA[...]]>
also fehlt das "!" in deinem Beispiel.




Martin Honnen MVP Data Platform Development
http://msmvps.com/blogs/martin_honnen/

Ähnliche fragen