转换xml字符串使用Jackson到xml字符串在漂亮的格式

aamkag61  于 2023-03-23  发布在  其他
关注(0)|答案(1)|浏览(160)

我使用Jackson将XML字符串转换为Map,并以漂亮的格式转换回XML字符串,但最终输出与输入不匹配100%。
请参见下面的代码:

@Test
    public void TestXmlStringToPretty() throws JsonMappingException, JsonProcessingException {
        String XML_STRING = "<SimpleBean><x>1</x><y>2</y></SimpleBean>";
        Map <?,?> map = xmlMapper.readValue(XML_STRING, Map.class);
        System.out.println(xmlMapper.writerWithDefaultPrettyPrinter().writeValueAsString(map));
        assertNotNull(map);
    }

输出显示如下:

<LinkedHashMap>
  <x>1</x>
  <y>2</y>
</LinkedHashMap>

如何将XML字符串转换为漂亮的格式而不丢失原始结构?

b09cbbtk

b09cbbtk1#

您需要一个对应于XML架构的Java类来进行反序列化,如下所示:

public class SimpleBean {

    private int x;
    private int y;
}

这是你的测试方法:

@Test
    public void TestXmlStringToPretty() throws JsonMappingException, JsonProcessingException {
        String XML_STRING = "<SimpleBean><x>1</x><y>2</y></SimpleBean>";
        SimpleBean simpleBean = xmlMapper.readValue(XML_STRING, SimpleBean.class);
        System.out.println(xmlMapper.writerWithDefaultPrettyPrinter().writeValueAsString(simpleBean));
        assertNotNull(simpleBean);
    }

相关问题