第 77 章 XPath


Camel 支持 XPath 以允许 ExpressionPredicateDSL 中使用。

例如,您可以使用 XPath 在 Message Filter 中创建一个 predicate,或作为 Recipient List 的表达式。

77.1. XPath Language 选项

XPath 语言支持 10 个选项,如下所列。

名称默认Java 类型描述

documentType

 

字符串

文档类型的类名称为 org.w3c.dom.Document.

resultType

 

Enum

设置结果类型的类名称(输出中的类型)默认结果类型是 NodeSet。

Enum 值:

  • NUMBER
  • 字符串
  • 布尔值
  • NODESET
  • 节点

saxon

 

布尔值

是否使用 Saxon。

factoryRef

 

字符串

对要在 registry 中查找的自定义 XPathFactory 的引用。

objectModel

 

字符串

要使用的 XPath 对象模型。

logNamespaces

 

布尔值

是否在故障排除过程中帮助记录命名空间。

headerName

 

字符串

用作输入的标头名称,而不是邮件正文。

threadSafety

 

布尔值

是否为 xpath 表达式返回的结果启用 thread-safety。当使用 NODESET 作为结果类型时,这适用于,返回的集合会有多个元素。如果您同时处理 NODESET,比如并行处理 Camel Splitter EIP,则可能会出现线程安全的问题。这个选项通过对节点进行防御副本来防止并发问题。如果您在应用程序中使用 camel-saxon 或 Saxon,则建议您打开这个选项。Saxon 有 thread-safety 问题,可以通过打开这个选项来防止这些问题。

preCompile

 

布尔值

在初始化阶段是否启用预编译 xpath 表达式。默认启用预编译。这可用于关闭编译阶段,例如,在启动阶段需要编译阶段,例如,如果应用程序提前编译(例如使用 camel-quarkus),然后加载构建操作系统的 xpath 工厂,而不是 JVM 运行时。

trim

 

布尔值

是否修剪值以移除前导和结尾的空格和换行符。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.