Be aware that when you extract a piece of XML from a larger XML document using the readOuterXML() function, it tries to determine the namespaces (as defined in the original XML document) that apply to the new piece, and inserts them into the appropriate tags as xmlns attributes. This can be disconcerting, but it should be a benign alteration in most cases, and I understand that it causes the new chunk of XML to be correctly formatted so it is valid in it's own right.
As far as I'm aware it's not possible to change this behaviour.
XMLReader::readOuterXML
(PHP 5 >= 5.2.0)
XMLReader::readOuterXML — 現在のノードから自分自身も含めた XML を取得する
説明
string XMLReader::readOuterXML
( void
)
現在のノードの中身を、ノード自身も含めて読み込みます。
パラメータ
この関数にはパラメータはありません。
返り値
現在のノードの中身を、自分自身も含めて文字列で返します。失敗した場合は空文字列を返します。
注意
警告
この関数は、PHP を libxml 20620 以降と組み合わせてコンパイルした場合にのみ使用可能です。
参考
- XMLReader::readString() - 現在のノードの内容を文字列で読み込む
- XMLReader::readInnerXML() - 現在のノードから XML を取得する
- XMLReader::expand() - 現在のノードのコピーを DOM オブジェクトとして返す
simon at avalon dot net dot nz
16-Mar-2011 04:35
