📄 XML 格式化与压缩工具

在线美化缩进、压缩单行、语法校验、XML 转 JSON,支持 <?xml?> 声明、注释、CDATA、DOCTYPE 的正确处理,实时统计元素数、属性数、嵌套深度与压缩率。 内置 pom.xml、beans.xml、Android 布局、RSS、SOAP、SVG 六种常见示例。 纯浏览器本地处理,内容不会上传服务器。

缩进: 示例: 🔒 纯本地处理 · 数据不上传
输入 XML0 字符
输出结果0 字符
字符数
0
行数
0
元素节点数
0
属性总数
0
最大嵌套深度
0
压缩率

🧩 这个工具是怎么处理 XML 的

结构处理规则
<?xml … ?> 声明作为独立 token 单独占一行,永远输出在最顶部,不参与缩进计算。
<!DOCTYPE …>支持带内部子集 [ … ] 的写法,方括号内的 > 不会被误判为声明结束。
注释整段保留并单独成行,缩进跟随当前层级;压缩时保留注释内容不做删除,避免丢失业务说明。
CDATA 段内部内容原样保留:不重新缩进、不转义、不压缩空白,因为 CDATA 里往往是脚本或富文本。
开标签 / 闭标签开标签后缩进 +1,闭标签前缩进 −1,自闭合标签 <br/> 深度不变。
纯文本子节点<name>张三</name> 这种「开标签 + 单行文本 + 闭标签」会自动合并为一行,避免无意义的换行。
属性值中的尖括号解析标签时会跟踪引号状态,属性值里的 > 不会导致标签被提前截断。
语法校验调用浏览器原生 DOMParser 解析,通过检测 parsererror 节点判定,并把浏览器给出的原始错误信息完整展示。

💡 XML 常见踩坑提醒

🚀 你可能也用得上

🧾 JSON 格式化 🔁 YAML / JSON 互转 🗜 HTML 压缩 🔣 HTML 转义 🧬 JSON 转类型定义
💡 这个位置等你来 — 软广告位 / 友情链接 / 合作开发 正在开放中 查看价格

📘 使用说明

  1. 把 XML 内容粘贴到左侧输入框,或点击加载示例
  2. 选择缩进风格后点击“格式化”得到易读版本
  3. 需要减小体积时点击“压缩”合并为单行
  4. 点击“校验”检查语法错误,错误位置会红色提示
  5. 如需转换数据结构,点击“XML 转 JSON”

❓ 常见问题

Q: XML 格式化会改变数据内容吗?
A: 不会。格式化只在标签之间增删空白字符和换行,元素、属性、文本内容完全不变。需要注意的是,如果你的 XML 里文本节点本身包含有意义的空格(mixed content),压缩时可能影响显示效果,本工具已对 CDATA 段做了保护。
Q: 提示 parsererror 是什么问题?
A: 说明 XML 不符合规范。最常见的原因:标签没闭合、大小写不匹配(XML 严格区分大小写)、属性值没加引号、有多个根元素、含有 & < > 等未转义的特殊字符、中文编码声明与实际编码不符。错误信息会显示具体行号。
Q: XML 和 JSON 该用哪个?
A: JSON 更轻量、解析更快,是 Web API 的主流选择;XML 在需要 schema 校验、命名空间、注释、混合内容和成熟工具链的场景仍有优势,配置文件(Maven pom、Spring)、文档格式(Office OOXML、SVG)、企业集成(SOAP)依然大量使用。
Q: XML 转 JSON 会丢信息吗?
A: 会有损。XML 的属性、命名空间、注释、元素顺序、混合内容在 JSON 中没有原生对应结构。本工具用 @ 前缀表示属性、#text 表示文本节点来尽量保留,但注释和 DOCTYPE 会丢失。重要数据转换后请务必核对。
Q: 处理很大的 XML 文件会卡吗?
A: 几百 KB 以内基本秒出,超过 5MB 浏览器可能出现明显卡顿甚至无响应,因为格式化是同步的字符串操作。超大文件建议用桌面工具如 xmllint --format 或 IDE 内置格式化功能处理。
Q: 数据安全吗?会上传服务器吗?
A: 完全不上传。格式化、压缩、校验、转 JSON 全部在浏览器里用原生 DOMParser 和 JavaScript 完成,服务器看不到你的任何内容。含敏感配置的 XML 也可以放心处理。
👉 下一步 🏆 看看周榜热门 🧩 工作流中心 🔍 全部工具分类

已复制