151.12. 在没有交换的情况下使用 XPathBuilder


现在,您可以使用 org.apache.camel.language.xpath.XPathBuilder,而无需 交换。如果您要将其用作自定义 XPath 评估的帮助,这很方便。

它要求您在 CamelContext 中传递,因为 XPathBuilder 中的许多移动部分需要访问 Camel Type Converter,因此为什么需要 CamelContext

例如,您可以执行以下操作:

boolean matches = XPathBuilder.xpath("/foo/bar/@xyz").matches(context, "<foo><bar xyz='cheese'/></foo>"));
Copy to Clipboard Toggle word wrap

这将与给定的 predicate 匹配。

您还可以按照以下三个示例所示评估:

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);
Copy to Clipboard Toggle word wrap

使用 字符串 结果评估是常见的要求,这更为简单:

String name = XPathBuilder.xpath("foo/bar").evaluate(context, "<foo><bar>cheese</bar></foo>");
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat