Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中删除具有给定元素名称的所有xml子级?_Php_Xml_Simplexml - Fatal编程技术网

如何在PHP中删除具有给定元素名称的所有xml子级?

如何在PHP中删除具有给定元素名称的所有xml子级?,php,xml,simplexml,Php,Xml,Simplexml,如何使用SimpleXML删除PHP中具有给定元素名称的所有xml子级 <xml> <computer></computer> <book></book> <book></book> </xml> 我需要一种快速的方法来删除所有“book”元素。谢谢 选择带有xpath和unset的所有节点: $xml = simplexml_load_string($x); // assume XML in

如何使用SimpleXML删除PHP中具有给定元素名称的所有xml子级

<xml>
<computer></computer>
<book></book>
<book></book>
</xml>


我需要一种快速的方法来删除所有“book”元素。谢谢

选择带有
xpath
unset
的所有节点:

$xml = simplexml_load_string($x); // assume XML in $x

$books = $xml->xpath("//book");
foreach ($books as $book) unset($book[0]);

在行动中看到它:

请先试试你自己。如果你被困在某个地方,请回答这个特定的问题。不,我想使用简单xml实际上你不能(我重复一遍:不能)用SimpleXML删除节点(或重新排列文档树)。(好吧,您可以只
取消设置所选节点,但它只对单个节点有效。)它没有任何删除方法。