169.7. 忽略 NonXML Character
				此功能是 Camel 2.2.0 的新内容。
JaxbDataFromat 支持忽略 NonXML Character,您只需要将 filterNonXmlChars 属性设置为 true,JaxbDataFormat 会将 NonXML 字符替换为 " ",当它是 marshaling 或 unmarshaling。您还可以通过设置 Exchange 属性 Exchange.FILTER_NON_XML_CHARS 来完成此操作。
			
| JDK 1.5 | JDK 1.6+ | |
|---|---|---|
| 使用中的过滤 | stax API 和实现 | 否 | 
| 不使用过滤 | 仅限 stax API | 否 | 
此功能已使用 Woodstox 3.2.9 和 Sun JDK 1.6 StAX 实现进行了测试。
				Camel 2.12.1
 JaxbDataFormat 的新信息现在允许您自定义用于向 XML 分割流的 XMLStreamWriter。使用这个配置,您可以添加自己的流写器来完全删除、转义或替换非xml 字符。
			
   JaxbDataFormat customWriterFormat = new JaxbDataFormat("org.apache.camel.foo.bar");
  customWriterFormat.setXmlStreamWriterWrapper(new TestXmlStreamWriter());
   JaxbDataFormat customWriterFormat = new JaxbDataFormat("org.apache.camel.foo.bar");
  customWriterFormat.setXmlStreamWriterWrapper(new TestXmlStreamWriter());以下示例显示了使用 Spring DSL 并启用 Camel 的 NonXML 过滤:
<bean id="testXmlStreamWriterWrapper" class="org.apache.camel.jaxb.TestXmlStreamWriter"/> <jaxb filterNonXmlChars="true" contextPath="org.apache.camel.foo.bar" xmlStreamWriterWrapper="#testXmlStreamWriterWrapper" />
<bean id="testXmlStreamWriterWrapper" class="org.apache.camel.jaxb.TestXmlStreamWriter"/>
<jaxb filterNonXmlChars="true"  contextPath="org.apache.camel.foo.bar" xmlStreamWriterWrapper="#testXmlStreamWriterWrapper" />