【问题标题】:Parsing XML with PHP with <![CDATA[使用 <![CDATA[ 使用 PHP 解析 XML
【发布时间】:2013-08-24 23:31:10
【问题描述】:

我使用simplexml_load_file 用PHP 解析XML,然后我json_encodejson_decode 以将所有信息作为数组获取:

$xml = simplexml_load_file('/var/www/darkglass/wp-content/themes/dark2/assets/xml/artists.xml');
$musicos = json_encode($xml);
$musicos = json_decode($musicos, true);

我遇到了这个问题,我想在标签中添加 HTML 代码,但只有在 &lt;![CDATA 之前添加一个字符时它才有效,如下例所示:

这不起作用:

<band><![CDATA[<a class="abandlink" href="#">Cannibal Corpse</a>]]></band>

这行得通:

<band>.<![CDATA[<a class="abandlink" href="#">Cannibal Corpse</a>]]></band>

知道为什么会这样吗?

【问题讨论】:

  • 你在运行什么代码?它给出了什么错误?
  • 这就是我将 xml 放入数组的方式:link 如果我不添加“。”或

标签: php xml json parsing


【解决方案1】:

您应该使用LIBXML_NOCDATA 选项:

$xml = simplexml_load_file('artists.xml', 'SimpleXMLElement', LIBXML_NOCDATA);

【讨论】:

    【解决方案2】:

    嗯,我找到了解决这个问题的方法, 我刚刚在变量中添加了substr$band = substr($band, 1);,因此它删除了变量的第一个字符,并且可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-18
      • 2011-11-13
      相关资源
      最近更新 更多