当存在多个childNodes时,如何使用DOMDocument删除特定的xml节点?

时间:2011-11-10 12:52:32

标签: php xml domdocument

使用PHP的DOMDocument删除节点的标准方法是:

$dom = dom_import_simplexml($node);
$dom->parentNode->removeChild($dom);

当有多个子节点时会出现问题,因为此方法只会删除第一个子节点。例如,Google Contacts API生成的XML,看起来基本上是这样的:

<phoneNumber>
    <first number node>
    <second number node>
    <etc...>
</phoneNumber>

所以问题是,如何删除堆栈中的特定节点?

1 个答案:

答案 0 :(得分:0)

由于SimpleXML是面向对象的,只需使用

即可
unset($xml->node)

删除,然后

$xml->saveXML();

保存。