【发布时间】:2013-04-22 10:58:01
【问题描述】:
这是我的 xml:
<?xml version="1.0" encoding="UTF-8"?>
<check>
<val>
<Samsung>
<name value="galaxy" />
<name value="galaxy" />
<name value="galaxys" />
<id value="123" />
<id value="123" />
<name2 value="galaxy" />
</Samsung>
<htc>
<name value="galaxy" />
<name value="galaxy" />
<name value="galaxys" />
<id value="123" />
<id value="123" />
<name2 value="galaxy" />
</htc>
</val>
我的 Xpath 表达式是:
XPathExpression expr = XPathFactory.newInstance().newXPath()
.compile("//Samsung/name/@value");
在上面的 xml 中 <name value="galaxy" /> 有副本,所以我试图删除重复项。但是在我的代码中,我得到了 value="galaxys".. 我不应该删除的节点。另外,正确的 XPath 语法应该是什么,以便我可以使用它来删除重复项,它应该在整个 xml 中同时匹配元素和属性值(例如:)?
【问题讨论】:
-
它不工作。另外,在我的 xml 中,我需要同时匹配元素名称和属性值。
标签: java xml xpath xml-parsing