对于以下xml:
<books>
<book>
<author>Peter</author>
<title>Tales from Somewhere</title>
<data>
<version>1</version>
</data>
</book>
<book>
<author>Paul</author>
<title>Tales from Nowhere</title>
<data>
<version>2</version>
</data>
</book>
</books>
如何使用此类表示法构建Java XPathExpression,获取上面的图书作者“Paul”的<version>
值:
//*[local-name()='books']/*
我使用以下问题作为参考: Get first child node in XSLT using local-name()
谢谢!
答案 0 :(得分:2)
这个XPath将获得一本书的版本,其中author
元素的值为“Paul”:
//book[author="Paul"]/data/version
针对此XML运行时:
<books>
<book>
<author>Peter</author>
<title>Tales from Somewhere</title>
<data>
<version>1</version>
</data>
</book>
<book>
<author>Paul</author>
<title>Tales from Nowhere</title>
<data>
<version>2</version>
</data>
</book>
<book>
<author>Peter</author>
<author>Paul</author>
<title>How to write a book with a friend</title>
<data>
<version>7</version>
</data>
</book>
</books>
你得到这个结果:
<version>1</version>
<version>7</version>