我试图弄清楚如果没有属性,我如何删除多个 xml“记录”?
这是我到目前为止所尝试的:
$xml = new DOMDocument();
$xml->preserveWhiteSpace = false;
$xml->formatOutput = true;
$xml->loadXML('<friends>
<friend id="779">
<name>ML76</name>
<games/>
<wins/>
</friend>
<friend id="131">
<name>Puttepigen67</name>
<games/>
<wins/>
</friend>
<friend id="17">
<name>rikkelolk</name>
<games>3</games>
<wins>2</wins>
</friend>
<friend id="">
<name/>
<games/>
<wins/>
</friend>
<friend id="">
<name/>
<games/>
<wins/>
</friend>
<friend id="">
<name/>
<games/>
<wins/>
</friend>
</friends>');
echo "<xmp>OLD \n". $xml->saveXML() ."</xmp>";
$opNodes = $xml->getElementsByTagName('friend');
$remove = array();
foreach ($opNodes as $node) {
if ($node->attributes() == ""){
$remove[] = $node;
}
}
foreach ($remove as $node) {
$node->parentNode->removeChild($node);
}
echo "<xmp>NEW \n". $xml->saveXML() ."</xmp>";
我在最后一个 XML->saveXML() 中没有得到任何东西。
我究竟做错了什么?
提前致谢 :-)