Java XML转Map工具类,如何实现递归解析XML为嵌套Map结构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1333个文字,预计阅读时间需要6分钟。
Java原生没有直接将XML转换成嵌套Map的标准API,通常可以使用硬编码的方式,或者使用JAXB或第三方库(如xmltojson)来实现。在处理属性/文本混合、同名节点、空元素等复杂场景时,最可控的方式是使用DocumentBuilder解析XML生成Document,然后编写一个轻量级递归函数遍历节点。
关键不是“能不能转”,而是“怎么让 <user id="123"><name>Tom</name></user> 变成 {"user": {"@id": "123", "name": "Tom"}} 这种结构——属性加 @ 前缀、文本内容用 #text 键、子节点自动嵌套,都得手动约定清楚。
本文共计1333个文字,预计阅读时间需要6分钟。
Java原生没有直接将XML转换成嵌套Map的标准API,通常可以使用硬编码的方式,或者使用JAXB或第三方库(如xmltojson)来实现。在处理属性/文本混合、同名节点、空元素等复杂场景时,最可控的方式是使用DocumentBuilder解析XML生成Document,然后编写一个轻量级递归函数遍历节点。
关键不是“能不能转”,而是“怎么让 <user id="123"><name>Tom</name></user> 变成 {"user": {"@id": "123", "name": "Tom"}} 这种结构——属性加 @ 前缀、文本内容用 #text 键、子节点自动嵌套,都得手动约定清楚。

