PHP: How to handle <![CDATA[ with SimpleXMLElement?
You're probably not accessing it correctly. You can output it directly or cast it as a string. (in this example, the casting is superfluous, as echo automatically does it anyway)
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>');echo (string) $content;// or with parent element:$foo = simplexml_load_string( '<foo><content><![CDATA[Hello, world!]]></content></foo>');echo (string) $foo->content;
You might have better luck with LIBXML_NOCDATA
:
$content = simplexml_load_string( '<content><![CDATA[Hello, world!]]></content>' , null , LIBXML_NOCDATA);
The LIBXML_NOCDATA
is optional third parameter of simplexml_load_file()
function. This returns the XML object with all the CDATA data converted into strings.
$xml = simplexml_load_file($this->filename, 'SimpleXMLElement', LIBXML_NOCDATA);echo "<pre>";print_r($xml);echo "</pre>";