実現したいことは、
「日本語が含まれたXMLをSimpleXMLオブジェクトとして読み込んで、
要素の追加や削除を行った後にそのXML自体を"実体参照を含まない形で"、"文字列として"表示させること」
です。
現在asXML()メソッドを利用していますが、どうしても日本語が実体参照された形になってしまいます。
しかも実体参照(文字実体参照)と文字参照(数値文字参照)が混合した形になっています。
これをなんとか回避したいのですが、何かよい方法がありましたら教えてください。
よろしくお願いします。
回答ありがとうございます。
残念ながら実体参照については言及していないようです。
えーと、当方のPHP5.1.6では再現しないのですが、もしかしてUTF-8以外の文字コードを使ったりしているのでしょうか?
SimpleXML自体は、UTF-8やLatinコードに対応していて、EUC-JP等は、動いたり動かなかったりという状態です。
回答ありがとうございます。また、検証ありがとうございます。
もしかしたら自分は問題の切り分けができていないのかもしれません。
環境はPHP5.1.6で内部エンコードもUTF-8です。
やっていることは、
「フォーム(UTF-8)からPOSTで送られてくるデータを元にSimpleXML関数でXMLを作成してそれをasXMLでテキスト化してechoで表示」
です。
解答ありがとうございます。
しかし、今回の問題はMACのXMLエディタではなく、PHPのSimpleXML関数の話です。また、問題を解決していないようです。