搜索

32.4. XPath Builder

download PDF

概述

org.apache.camel.builder.xml.XPathBuilder 类可让您独立评估 XPath 表达式。也就是说,如果您有一个来自任何源的 XML 片段,您可以使用 XPathBuilder 来评估 XML 片段上的 XPath 表达式。

匹配表达式

使用 match () 方法检查一个或多个 XML 节点是否与给定的 XPath 表达式匹配。使用 XPathBuilder 匹配 XPath 表达式的基本语法如下:

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>"));

评估表达式

使用 evaluate () 方法返回与给定 XPath 表达式匹配的第一个节点的内容。使用 XPathBuilder 评估 XPath 表达式的基本语法如下:

String nodeValue = XPathBuilder
                    .xpath("Expression")
                    .evaluate(CamelContext, "XMLString");

您还可以通过将所需类型作为第二个参数传递来指定结果类型,以评估()criu -busybox 例如:

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);
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.