AZ Tools

XML ↔ JSON 转换器

转换

保留大多数转换器丢失内容的双向 XML/JSON 转换器:属性、混合内容、重复元素。属性变成带 `@`(可配置)前缀的键,所以 `<book id="1">` 变成 `{"@id": "1"}`。重复子元素折叠为数组。与属性并列的文本内容进入 `#text` 键(也可配置)。XML 侧使用浏览器原生 `DOMParser` — 与浏览器处理 `application/xml` 响应相同的代码路径,所以命名空间、实体和 CDATA 都能用。JSON 侧反转相同约定以进行往返。

使用方法

  1. 选方向。粘贴 XML(或 JSON)— 示例数据一键加载。
  2. 如果目标是特定 schema(`x2js`、`fast-xml-parser`、自定义),调整属性前缀和文本键。
  3. JSON→XML 让你设置根元素名并切换 `<?xml ... ?>` 声明。准备好就复制。

常见问题

为什么属性加前缀?
因为 JSON 原生不区分属性和子元素。加前缀(用 `@`、`_` 或任何你喜欢的)让往返无损 — 你可以 XML→JSON→XML 转换并得到相同文档。没有约定,属性会与子元素名冲突。
处理混合内容(`<p>hello <b>world</b>!</p>`)吗?
部分。纯文本变成字符串;带文本的元素子节点变成与子节点并列的 `{ #text: '...' }`。交错的文本和元素(如 `hello <b>world</b>!`)折叠到 `#text` 键中的合并文本,能往返但丢失原始顺序。对混合内容繁重的文档(HTML、DocBook),专用解析器更好。

相关工具