2010-07-17 83 views
0

任何人都可以建议我该如何解决这个问题,这里有我试图追加的XML文档。我找了XPath的节点,这个事情是有时产生这种XML螺丝起来如下软件:在java中使用xpath查找节点

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

所以,当我在寻找的节点了使用//element[@name="Element"]的XPath没有空格我不匹配。当然我得到这个匹配//element[@name="Element "]

有没有什么我可以做到匹配这个没有空白?xpath接受正则表达式还是有更聪明的方法来做到这一点,我可以改变xml文件,以及它之后由软件生成(具有错误的用户输入)。

回答

4

(未经测试)。

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

工作?

+0

A +为你,它实际上工作,我已经搜索了这么久,你能推荐一些有用的资源xpath? – London 2010-07-17 23:18:07

+1

XPath规范? http://www.w3.org/TR/xpath/#section-String-Functions – 2010-07-18 08:59:11

1

一个更普遍的(虽然不太准确)的解决方案可能是:

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

然而,这也将捕获到像name="Elements"name="Elementary"

你能推荐一些有用的资源的XPath

不幸的是,在我的经验中没有太多这样的资源 - w3schools可能是您最好的选择,或者规格本身用于更高级的东西。