0

我知道可以使用 XPath 删除空 XML 标签(如此处所示 - Remove empty tags from a XML with PHP

$xpath = new DOMXPath($doc);

foreach( $xpath->query('//*[not(node())]') as $node ) {
    $node->parentNode->removeChild($node);
}

$doc->formatOutput = true;
echo $doc->savexml();

但是是否可以使用类似的方法来删除空标签但保留具有属性的标签?

例如

<range starts_at="2012-11-22" ends_at="2012-11-26"></range>
4

1 回答 1

3

试试这个 XPath

'//*[not(node()) and not(@*)]'
于 2013-08-05T07:42:06.260 回答