我的问题是<xpath-splitter>
SI组件会生成带有xml-header的片段,从理论上讲,可以通过将基础转换器的omit-xml-declaration
属性设置为“ yes”将其禁用
我怎样才能做到这一点?
使用<xpath-slitter>
时如何设置此属性?
谢谢
请您参考如下方法:
嗯我们可以这样做:
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
但是我们无法从
Transformer
访问该
XPathMessageSplitter
。
我认为实现此 https://jira.spring.io/browse/INT-2042另一个更好的要求。
作为一种变通办法,现在您是否很难以
payload
而不是
<xpath-splitter>
的形式提供
Node
的输入
String
并以
List<Node>
的形式获得结果。
之后,您可以提供一些自定义
<transformer>
的代码:
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
StringResult result = new StringResult();
transformer.transform(new DOMSource(payload), result);
return result.toString();
我们会在不久的将来解决JIRA问题。
谢谢!
更新
JIRA https://jira.spring.io/browse/INT-2042及其相关票证已在
output-properties
配置选项中得到修复。