2017-06-23 97 views
0

我有一個XML文件,其中包含節點內容中的一些html實體。例如: - 沒有任何反應,HTML實體仍然被解析SimpleXML轉換html實體

... 
<node>node&apos;s content</node> 
... 

當我通過SimpleXML的加載文件(使用simplexml_load_file法),節點內容被自動當我在使用simplexml_load_file指定LIBXML_NOENT轉換爲node's content

如何保存原始節點內容?

+0

除非您指定'LIBXML_NOENT' HTML實體不應被解析。你能展示更多的代碼嗎? –

+0

我想你可能會誤解實體是如何工作的,以及它們代表什麼 - 該元素的字符串內容*是「節點的內容」,「'」就是如何寫入XML的。如果您以XML格式輸出元素,則會再次看到'''。另請參閱[這個答案](https://stackoverflow.com/questions/13979582/php-simplexml-decoding-entities-in-cdata/13981917#13981917)到一個有點相關的問題。 – IMSoP

回答

-1

您可以添加一個參數到simplexml_load_file(),以防止它代替HTML實體。見http://php.net/manual/en/libxml.constants.php

SimpleXMLElement xml = simplexml_load_file("myFile", "SimpleXMLElement", LIBXML_NOENT(0)); 
+0

調用未定義函數LIBXML_NOENT() –

+0

LIBXML_NOENT是一個常量,而不是一個函數,因此忽略(0)位。 –

+0

當我只指定LIBXML_NOENT時 - 沒有任何反應,HTML實體仍然被解析 –