2
子ノードの親ノードは削除しますが、すべての子ノードを保持するにはどうすればよいですか?子ノードの子ノードを削除するPHP domDocument
XMLファイルはこれです:
<?xml version='1.0'?>
<products>
<product>
<ItemId>531<ItemId>
<modelNumber>00000</modelNumber>
<categoryPath>
<category><name>Category A</name></category>
<category><name>Category B</name></category>
<category><name>Category C</name></category>
<category><name>Category D</name></category>
<category><name>Category E</name></category>
</categoryPath>
</product>
</products>
基本的に、私はcategoryPathノードとカテゴリノードを削除しますが、製品のノードの内部で名前のすべてのノードを維持する必要があります。私が目指しているのは次のような文書です:
<?xml version='1.0'?>
<products>
<product>
<ItemId>531<ItemId>
<modelNumber>00000</modelNumber>
<name>Category A</name>
<name>Category B</name>
<name>Category C</name>
<name>Category D</name>
<name>Category E</name>
</product>
</products>
PHPはこれを行うために組み込まれていますか?どのポインターも高く評価されますが、多くの子ノードがあるため、どこから開始するのか分かりません。
おかげ
ありがとうございます。他のすべてのカテゴリタグを削除するだけだとわかりました。それは起こるはずですか? – Ben
@Ben:実際には、これを修正するためにもう一度私に教えてください。 – Jon
@Ben:修正されました。私は、DOMNodeListのいくつかの面白い...の動作に遭遇しました。起こったことの説明については、[this](http://www.php.net/manual/en/domdocument.getelementsbytagname.php#99716)を参照してください。そのコメントに示されているように 'for'を書き換えて問題を解決することができましたが、何が起こっているのか分からなくても自然なように見えるので、' while 'を優先しました。必要とされている。 – Jon