我在这里查看 w3c 书店 xpath 示例。
基于该xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
我正在尝试使用 XPath 执行此操作:
“此 XML 文档是否有一本书的作者为 'James McGovern' 且价格为 '49.99' 并且此 XML 文档是否还有一本书的作者为 'Erik T. Ray' 且价格为 '39.95'
人类的说法是正确的,XPath 等价物是什么?是否可以跨兄弟节点运行表达式,如果可以,如何?
为了澄清,在其他语言中,可能会做这样的事情:
(author1 = 'James McGovern' and price1 = '49.99') and (author2 = 'Erik T. Ray' and price2 = '39.95')
其中 author1\price1 是以下项的子项:
<book category="WEB">
标题为:<title lang="en">XQuery Kick Start</title>
author2\price2 是以下的子级:
<book category="WEB">
标题:<title lang="en">Learning XML</title>