编程语言
首页 > 编程语言> > php-无法使用SimpleXML解析CDATA

php-无法使用SimpleXML解析CDATA

作者:互联网

我有以下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>”;

标签:simplexml,php,libxml2
来源: https://codeday.me/bug/20191201/2077864.html