我需要得到不同的值 //name() 没有 distinct-values(//*/name())
我试过这样做,但它的作用不大。
//*/name()[.!=//preceding-sibling::*]
我该如何修复它?
使用XPath 1.0
, 获取不同的值
对于名称属性,
/*/*[not(@name = preceding::*/@name)]
对于节点名称,
/*/*[not(name() = preceding::*/name())]
<?xml version="1.0" encoding="UTF-8"?>
<root>
<friend1 name="abc"/>
<friend2 name="def"/>
<friend3 name="abc"/>
<friend1 name="abcd"/>
<friend5 name="abcd"/>
<friend6 name="xyz"/>
<friend8 name="789"/>
<friend0 name="pqr"/>
<friend9 name="lmn"/>
<friend2 name="lmn"/>
<friend5 name="123"/>
<friend7 name="456"/>
<friend12 name="789"/>
</root>