32.4. XPath Builder
概述
org.apache.camel.builder.xml.XPathBuilder
类允许您独立于交换评估 XPath 表达式。也就是说,如果您有任何来源的 XML 片段,您可以使用 XPathBuilder
来评估 XML 片段上的 XPath 表达式。
匹配表达式
使用 match ()方法检查是否可以找到一个或多个与给定 XPath 表达式匹配的
XML 节点。使用 XPathBuilder
匹配 XPath 表达式的基本语法如下:
boolean matches = XPathBuilder .xpath("Expression") .matches(CamelContext, "XMLString");
如果发现至少一个与表达式匹配的节点,则根据 XML 片段评估表达式 Expression,其结果为 true。例如,以下示例返回 true
,因为 XPath 表达式在 xyz
属性中找到匹配项。
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");
您还可以通过传递所需的类型来指定结果类型,作为第二个参数,以评估()HEKETI
-wagon 例如:
String name = XPathBuilder .xpath("foo/bar") .evaluate(context, "<foo><bar>cheese</bar></foo>", String.class); Integer number = XPathBuilder .xpath("foo/bar") .evaluate(context, "<foo><bar>123</bar></foo>", Integer.class); Boolean bool = XPathBuilder .xpath("foo/bar") .evaluate(context, "<foo><bar>true</bar></foo>", Boolean.class);