我在看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文档是否有一本作者为‘詹姆斯·麦戈文’、价格为‘49.99’的书,这个XML文档是否也有一本作者为‘埃里克·雷’、价格为‘39.95’的书
人类的说法是正确的,XPath等效的是什么?是否可以跨兄弟节点运行表达式,如果可以,如何运行?
为了澄清,在其他语言中,可以这样做:
(author1 = 'James McGovern' and price1 = '49.99') and (author2 = 'Erik T. Ray' and price2 = '39.95')
其中author1\price1是的子级:
和author2\price2是:
只需对每本书进行比较,更新后的XPath为:
boolean(//book[author='James McGovern' and price='49.99']) and boolean(//book[author='Erik T. Ray' and price='39.95'])
或者,如果有一份包含多家书店的文件,并且您希望查找包含这两本书的所有书店,您可以执行以下操作:
/bookstore[book[author='James McGovern' and price='49.99'] and book[author='Erik T. Ray' and price='39.95']]
更新:
在你最后一次编辑后,我终于得到了你正在尝试的东西:)。如果要确保两个节点都存在,可以使用以下查询:
boolean(/bookstore[book[price = "39.95" and author = "Erik T. Ray"] and book[price = "49.99" and author = "James McGovern"]])
我使用XMLSpy编写了以下XPath来确定最长字符串长度,它在XMLSpy中工作: 但是当我在spring integration中将相同的字符串放入xpath-expression时,它会出错: org.springframework.beans.factory.BeanCreationException:创建名为xpath MaxLengthExceptionMsg的bean时出错:bean
在本章中,我们将详细介绍XPath表达式,其中包括常见的节点类型,XPath定义和句柄。 序号 节点类型 描述 1 Root XML文档的根元素节点。 2 Element 元素节点。 3 Text 元素节点的文本。 4 Attribute 元素节点的属性。 5 Comment 注释
主要内容:示例XPath表达式通常定义模式以便选择一组节点。 这些模式由XSLT用于执行转换,或者由用于寻址。 XPath规范指定了七种类型的节点,这些节点可以是XPath表达式的执行输出。 根 元素 文本 属性 注释 处理指令 命名空间 XPath使用路径表达式从XML文档中选择节点或节点列表。 以下是从XML文档中选择节点/节点列表的路径和表达式列表。 序号 表达式 描述 1 选择具有给定名称的所有节点。
我有一个XML文件,我正试图解析它以获得名为的标记。 使用xpath和,我可以看到有10个子节点,每个节点都被命名为。但如果我使用以下任何一种XPath,就没有匹配项: 我所做的一切都不是返回任何标记。但是我知道有10个。我可以通过获得,所以我知道我正在连接到这个文件。我如何生成一个xpath来到达每个? XML结构(缩写):
我在库伯内特斯集群中运行3个节点。每个节点都有相同的Pod myApp。我使用NodePort类型创建一个服务,以便所有3个节点都可以从外部访问。服务yaml如下所示 假设3个节点的节点IP端口为: 1.192.168.18.1:30010 2.192.68.18.2:30010 3.192.18.18.3:30010 我的问题是:<br>1.如果所有请求都来自IP为(192.168.18.1:3