在java中查找带有xpath的节点

时间:2010-07-17 22:55:59

标签: java xml xpath

任何人都可以建议我如何解决这个问题,我正在尝试附加XML文档。我正在查找带有xpath的节点,生成这个XML的软件有时会将其搞砸如下:

<element name="Element ">Element value</element>

因此,当我使用//element[@name="Element"]在没有空格的情况下使用xpath查找节点时,我没有得到匹配。我自然会得到这个//element[@name="Element "]

我可以做些什么来匹配这个没有空格吗?xpath接受正则表达式还是有更聪明的方法来做到这一点,我可以在软件生成之后更改xml文件(有故障)用户输入)。

2 个答案:

答案 0 :(得分:4)

(未测试的)。

//element[normalize-space(@name)=="Element"]

工作?

答案 1 :(得分:1)

更通用(虽然不太准确)的解决方案可能是:

//element[contains(@name,"Element")]

然而,这也会涉及name="Elements"name="Elementary"等等。

你能为xpath

推荐一些有用的资源吗?

不幸的是,根据我的经验,这些资源并不是很多 - w3schools可能是你最好的选择,或者说是更高级的东西。