Java中将Map转为XML需借助Jackson等第三方库,原生JDK不支持;推荐使用jackson-dataformat-xml模块,通过XmlMapper实现序列化与反序列化,并注意根元素名匹配及复杂结构的POJO封装。

Java中将Map转为XML,核心是借助第三方库(如Jackson、JAXB或XStream)完成序列化;原生JDK不直接支持Map到XML的转换。最常用、简洁且健壮的方式是使用Jackson的jackson-dataformat-xml模块。
使用Jackson将Map转为XML字符串
Jackson支持将任意Java对象(包括Map)直接序列化为XML,需添加Maven依赖:
<dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> <version>2.15.2</version> </dependency>
登录后复制
代码示例:
ObjectMapper xmlMapper = new XmlMapper();
// 可选:配置格式化输出(缩进)
xmlMapper.enable(SerializationFeature.INDENT_OUTPUT);
Map<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 28);
map.put("city", "北京");
String xml = xmlMapper.writeValueAsString(map);
System.out.println(xml);登录后复制
输出类似:
立即学习“Java免费学习笔记(深入)”;
<HashMap> <name>张三</name> <age>28</age> <city>北京</city> </HashMap>
登录后复制
将XML字符串解析回Map对象
反向操作同样简单,用XmlMapper读取XML并反序列化为Map:
标签: java js json node app stream 格式化输出 字符串解析
还木有评论哦,快来抢沙发吧~