53.8. 忽略 Non-XML Characters


JaxbDataFormat 支持忽略 Non-XML Characters。将 filterNonXmlChars 属性设置为 trueJaxbDataFormat 将在消息 marshalling 或 unmarshalling 期间,将任何非 XML 字符替换为空格字符(" ")。您还可以设置 Exchange 属性 Exchange.FILTER_NON_XML_CHARS

Expand
 JDK 1.5JDK 1.6+

使用中的过滤

stax API 和实现

不使用过滤

仅限 stax API

此功能已使用 Woodstox 3.2.9 和 Sun JDK 1.6 StAX 实现进行了测试。

JaxbDataFormat 现在允许您自定义流到 XML 的 XMLStreamWriter。使用这个配置,您可以添加自己的流写器来完全删除、转义或替换非 XML 字符。

JaxbDataFormat customWriterFormat = new JaxbDataFormat("org.apache.camel.foo.bar");
customWriterFormat.setXmlStreamWriterWrapper(new TestXmlStreamWriter());
Copy to Clipboard Toggle word wrap

以下示例显示了使用 Spring DSL 并启用 Camel 的非 XML 过滤:

<bean id="testXmlStreamWriterWrapper" class="org.apache.camel.jaxb.TestXmlStreamWriter"/>
<jaxb filterNonXmlChars="true" contextPath="org.apache.camel.foo.bar" xmlStreamWriterWrapper="#testXmlStreamWriterWrapper" />
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat