2011-08-29 86 views
2
<myxml> 
    <bla> 
    I want <strong>HTML here</strong> 
    </bla> 
</myxml> 

我怎樣才能讀取XML文檔的HTML?如何包含和讀取XML的HTML?

$data = file_get_contents('myxml.xml'); 
$xml = new SimpleXMLElement($data); 
print_r($xml); // fail... 

PS:不逃避,因爲這很煩人每次我補充一點時間逃跑的文本..


編輯:

<myxml> 
    <bla><![CDATA[I want <strong>HTML here</strong>]]></bla> 
</myxml> 

的PHP:

$xml = simplexml_load_file('myxml.xml'); 
print_r($xml); 

和輸出是:

SimpleXMLElement Object 
(
    [bla] => SimpleXMLElement Object 
     (
     ) 

) 

沒有CDATA有..

回答

3

環繞你的I want <strong>HTML here</strong>CDATA標籤,因爲這樣的:

<![CDATA[ 
    I want <strong>HTML here</strong> 
]]> 

這將告訴解析器忽略什麼是CDATA塊內,只是解析它以明文形式。

+0

嗯我怎麼看裏面有什麼CDATA?因爲print_r什麼都沒有顯示。 – Natasha

+0

@Natasha:你正在使用'SimpleXMLElement'錯誤。使用['simplexml_load_file()'](http://www.php.net/manual/en/function.simplexml-load-file.php)加載''myxml.xml''文件。 – Tomalak

+0

試過了,仍然沒有CDATA :( – Natasha

0

顯式類型轉換是所需的文本節點,它只能存在; print_r()是在這裏使用的功能/語言功能錯誤(使用echo代替)。

對於打印任何的SimpleXML元素的含量爲XML(一個也可以含有其它元素),使用它的方法asXML()