我有一個XML文件,其中包含節點內容中的一些html實體。例如: - 沒有任何反應,HTML實體仍然被解析SimpleXML轉換html實體
...
<node>node's content</node>
...
當我通過SimpleXML的加載文件(使用simplexml_load_file
法),節點內容被自動當我在使用simplexml_load_file指定LIBXML_NOENT轉換爲node's content
。
如何保存原始節點內容?
我有一個XML文件,其中包含節點內容中的一些html實體。例如: - 沒有任何反應,HTML實體仍然被解析SimpleXML轉換html實體
...
<node>node's content</node>
...
當我通過SimpleXML的加載文件(使用simplexml_load_file
法),節點內容被自動當我在使用simplexml_load_file指定LIBXML_NOENT轉換爲node's content
。
如何保存原始節點內容?
您可以添加一個參數到simplexml_load_file()
,以防止它代替HTML實體。見http://php.net/manual/en/libxml.constants.php。
SimpleXMLElement xml = simplexml_load_file("myFile", "SimpleXMLElement", LIBXML_NOENT(0));
調用未定義函數LIBXML_NOENT() –
LIBXML_NOENT是一個常量,而不是一個函數,因此忽略(0)位。 –
當我只指定LIBXML_NOENT時 - 沒有任何反應,HTML實體仍然被解析 –
除非您指定'LIBXML_NOENT' HTML實體不應被解析。你能展示更多的代碼嗎? –
我想你可能會誤解實體是如何工作的,以及它們代表什麼 - 該元素的字符串內容*是「節點的內容」,「'」就是如何寫入XML的。如果您以XML格式輸出元素,則會再次看到'''。另請參閱[這個答案](https://stackoverflow.com/questions/13979582/php-simplexml-decoding-entities-in-cdata/13981917#13981917)到一個有點相關的問題。 – IMSoP