1
如果我使用Camel unmarshal和XmlJsonDataFormat
將JSON轉換爲帶有默認名稱空間的XML,則所有打開的xml元素在末尾都有一個空格。我沒有發現影響這種行爲的可能性。駱駝JSON到XML轉換問題
這是轉換XML:
<Message xmlns="http://example.com/Message/1">
<Header >
<Header1 >header 1</Header1>
<Header2 >header 2</Header2>
</Header>
</Message>
這是我的路由定義:
public void configure() throws Exception {
// create JSON to XML data format
XmlJsonDataFormat json2XmlFormat = new XmlJsonDataFormat();
json2XmlFormat.setEncoding("UTF-8");
json2XmlFormat.setRootName("Message");
List<XmlJsonDataFormat.NamespacesPerElementMapping> namespaces = new ArrayList<XmlJsonDataFormat.NamespacesPerElementMapping>();
namespaces.add(new XmlJsonDataFormat.NamespacesPerElementMapping("Message", "||http://example.com/Message/1|"));
json2XmlFormat.setNamespaceMappings(namespaces);
from("direct:input")
.unmarshal(json2XmlFormat)
.log("${body}");
}
轉換後的XML仍與空間有效。但我想解決它們。
setSkipWhitespace()
和setTrimSpaces()
僅供XML到JSON
任何想法?
當我嘗試第一個建議時,頂層元素根本沒有命名空間。 – user3092750
@ user3092750是的,的確如此。如果您需要命名空間,請使用第二個解決方案。 –
是否可以通過XML配置命名空間? (Blueprint DSL) –