我有以下XML代码:
<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已启用并处于活动状态.
有什么帮助吗?提前致谢
解决方法:
您应该使用htmlspecialchars对特殊字符进行编码
例如:
打印“内容:”.htmlspecialchars($para).“< br>”;