$xml = new SimpleXMLElement('');
unset($xml->b);
echo $xml->asxml();
因为__unset() method(或模块代码中的等效项)被调用,所以这个工作原理(从文档中删除< b />元素).
但是当你调用unset($parent);它仅删除存储在$parent中的对象引用,但它不会影响对象本身或存储在$xml中的文档.
我会恢复到DOMDocument这个.
$doc = new DOMDOcument;
$doc->loadxml('
123
456
789
');
$item_id = 456;
$xpath = new DOMXpath($doc);
foreach($xpath->query('//items[info/item_id="' . $item_id . '"]') as $node) {
$node->parentNode->removeChild($node);
}
echo $doc->savexml();
版画
123
789