无法使用SimpleXML解析CDATA [英] Cannot parse CDATA with SimpleXML

查看:125
本文介绍了无法使用SimpleXML解析CDATA的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下XML代码:

<para>
      <![CDATA[
        <?php
        $data = '<?xml version="1.0"?>
        <root>content</root>';
        $sxe = simplexml_load_string($data);
        var_dump($sxe);
        ?>
      ]]>
    </para>

我想解析CDATA部分以得到以下结果:

I want to parse the CDATA section to take this result:

Content:
<?php
$data = '<?xml version="1.0"?>
<root>content</root>';
$sxe = simplexml_load_string($data);
var_dump($sxe);
?>

我使用以下内容,但不起作用.

I use the following but it doesn't work.

$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已启用并处于活动状态. 有什么帮助吗?预先感谢

In phpinfo() it shows that libxml is enabled and active. Any help? Thanks in advance

推荐答案

您应使用 html特殊字符

例如: print "Content: ".htmlspecialchars($para)."<br>";

这篇关于无法使用SimpleXML解析CDATA的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆