我想清理一个 XML 文件,并且不允许节点具有具有相同值的属性。XML 看起来像:
<bar>
<foo id="123" some="attribute"/>
<foo id="abc" some="other attribute"/>
<foo id="123" some="different attribute"/>
</bar>
它应该看起来像:
<bar>
<foo id="abc" some="other attribute"/>
<foo id="123" some="different attribute"/>
</bar>
我正在使用 PHP,但我不想做很多循环,所以我想到了使用带有 DOMXPath 对象的 XPath 请求。我发现 Xpath distinct-values函数可能会有所帮助,但据我了解,它仅适用于重复节点,不适用于节点重复属性。
XPath 中是否有解决方案,或者 PHP 中是否有很棒的算法?