2
解析CDATA我有以下XML代碼:不能用SimpleXML
<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啓用和活性。 有什麼幫助嗎?在此先感謝
你能給我一個例子,如果你能? – 2012-07-17 17:20:03
非常感謝!有效! – 2012-07-17 17:23:42
@MrGlass意味着節點內容按照請求被回顯,但是因爲您正在瀏覽器中查看節點,所以節點被解析爲HTML,因爲它們不是有效的HTML標籤,所以不能解析爲任何內容。查看源代碼以查看它們,或使用'htmlspecialchars'轉義輸出。 – 2012-07-17 17:23:53