2017-06-23 6 views
0

ノードコンテンツにいくつかのHTMLエンティティを含むXMLファイルがあります。例: - 何も起こりません、HTMLエンティティがまだ解析され、私はSimpleXMLは(simplexml_load_fileメソッドを使用して)することにより、ファイルをロードすると、私はsimplexml_load_fileでLIBXML_NOENTを指定するとSimpleXMLはHTMLエンティティを変換します

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

、ノードのコンテンツが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エンティティは引き続き解析されます –

関連する問題