2
解析CDATA我有以下XML代码:不能用SimpleXML
<para>
<![CDATA[
<?php
$data = '<?xml version="1.0"?>
<root>content</root>';
$sxe = simplexml_load_string($data);
var_dump($sxe);
?>
]]>
</para>
我想解析CDATA部分采取这样的结果:
Content:
<?php
$data = '<?xml version="1.0"?>
<root>content</root>';
$sxe = simplexml_load_string($data);
var_dump($sxe);
?>
我用下面的,但它不工作。
$xml='sxml.xml';
$book = simplexml_load_file($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
$para = $book->chapter->para[1];
print "Content: ".$para."<br>";
foreach($para AS $node) {
print "Iter Content: ".$node."<br>";
}
这导致:
Content:
content';
$sxe = simplexml_load_string($data);
var_dump($sxe);
?>
在phpinfo()函数它表明的libxml启用和活性。 有什么帮助吗?在此先感谢
你能给我一个例子,如果你能? – 2012-07-17 17:20:03
非常感谢!有效! – 2012-07-17 17:23:42
@MrGlass意味着节点内容按照请求被回显,但是因为您正在浏览器中查看节点,所以节点被解析为HTML,因为它们不是有效的HTML标签,所以不能解析为任何内容。查看源代码以查看它们,或使用'htmlspecialchars'转义输出。 – 2012-07-17 17:23:53