我用PHP解析XML,使用simplexml_load_file
,然后使用json_encode
和json_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代码,但只有在<![CDATA
之前添加一个字符(如下面的例子所示),它才有效:
这不起作用:
<band><![CDATA[<a class="abandlink" href="#">Cannibal Corpse</a>]]></band>
这项工作:
<band>.<![CDATA[<a class="abandlink" href="#">Cannibal Corpse</a>]]></band>
知道为什么会发生这种事吗?
您应该使用LIBXML_NOCDATA
选项:
$xml = simplexml_load_file('artists.xml', 'SimpleXMLElement', LIBXML_NOCDATA);
好吧,我找到了解决这个问题的方法,我刚刚在变量中添加了substr
和$band = substr($band, 1);
,所以它删除了变量的第一个字符,它就工作了。