您可以将XPath与谓词
not(node())一起使用,以选择所有没有子节点的元素。
<?php$doc = new DOMdocument;$doc->preserveWhiteSpace = false;$doc->loadxml('<parentnode> <tag1>2</tag1> <tag2>4</tag2> <tag3></tag3> <tag2>4</tag2> <tag3></tag3> <tag2>4</tag2> <tag3></tag3></parentnode>');$xpath = new DOMXPath($doc);foreach( $xpath->query('//*[not(node())]') as $node ) { $node->parentNode->removeChild($node);}$doc->formatOutput = true;echo $doc->savexml();版画
<?xml version="1.0"?><parentnode> <tag1>2</tag1> <tag2>4</tag2> <tag2>4</tag2> <tag2>4</tag2></parentnode>



