【发布时间】:2013-12-12 21:12:01
【问题描述】:
我正在使用 Jackson 将一些简单的传入 XML 转换为简单的 java 类,然后再转换回来。这是我的主要课程:
public static void main (String[] args)
throws IOException {
ObjectMapper mapper = new XmlMapper();
mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Ussd entries = mapper.readValue(new File("input.xml"), Ussd.class);
System.out.println(entries.toString());
mapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
mapper.writeValue(new FileOutputStream(new File("output.xml")), entries);
还有一个我将要处理的 xml 示例:
<test>
<type>5</type>
<msg>Hello World!</msg>
<premium>
<cost>12.35</cost>
<ref>27797740555</ref>
</premium>
<msisdn>27231234556</msisdn>
<sessionid>3</sessionid>
<network>33</network>
</test>
如何确保输出的格式正确(如果我简单地读入并写出,我希望输出看起来与输入相同)?目前它在一行上返回所有内容,包括一个我宁愿根本不存在的xmlns="",并告诉它缩进输出似乎没有任何区别(将 true 更改为 false 没有任何变化)。有什么明显的问题吗?
【问题讨论】: