32.4. XPath Builder
概述 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
org.apache.camel.builder.xml.XPathBuilder
类允许您独立评估 XPath 表达式。也就是说,如果您拥有来自任何源的 XML 片段,您可以使用 XPathBuilder
来评估 XML 片段中的 XPath 表达式。
匹配表达式 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用 matches()
方法检查一个或多个 XML 节点是否可以找到与给定 XPath 表达式匹配的 XML 节点。使用 XPathBuilder
匹配 XPath 表达式的基本语法如下:
boolean matches = XPathBuilder .xpath("Expression") .matches(CamelContext, "XMLString");
boolean matches = XPathBuilder
.xpath("Expression")
.matches(CamelContext, "XMLString");
如果至少有一个节点与表达式匹配,则给定表达式、表达式 会根据 XML 片段、XMLString 和结果为 true 进行评估。例如,以下示例返回 true
,因为 XPath 表达式在 xyz
属性中找到匹配项。
boolean matches = XPathBuilder .xpath("/foo/bar/@xyz") .matches(getContext(), "<foo><bar xyz='cheese'/></foo>"));
boolean matches = XPathBuilder
.xpath("/foo/bar/@xyz")
.matches(getContext(), "<foo><bar xyz='cheese'/></foo>"));
评估表达式 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用 evaluate()
方法返回与给定 XPath 表达式匹配的第一个节点的内容。使用 XPathBuilder
评估 XPath 表达式的基本语法如下:
String nodeValue = XPathBuilder .xpath("Expression") .evaluate(CamelContext, "XMLString");
String nodeValue = XPathBuilder
.xpath("Expression")
.evaluate(CamelContext, "XMLString");
您也可以通过传递所需的类型作为第二个参数来指定结果类型,以评估()
targetNamespaces-InventoryServicefor 示例: