XML 格式化与压缩
格式化所有处理都在浏览器本地完成,数据不上传服务器
输入
输出
按标签层级把 XML 重新缩进:每个元素一层,注释、CDATA、处理指令与 DOCTYPE 各占一行,标签内部的连续空白压成一个空格,而属性值里的空白原样保留(class="a b" 里的两个空格是有意义的)。压缩模式去掉标签之间所有空白与注释。CDATA 里的内容是字符数据,整体原样搬运,不会因为里面出现标签而错乱。
功能
- 按标签层级缩进,缩进可选 2 空格 / 4 空格 / 制表符
- 标签内部的连续空白压成一个空格,属性值里的空白原样保留
- 属性值里出现 > 不会被当成标签结束,标签不会被从中间切断
- 注释、CDATA、<?xml ... ?> 与 DOCTYPE 各自成行
- DOCTYPE 的内部子集 [...] 与其中的实体声明不会被截断
- CDATA 内容原样保留,里面的标签与空白不参与缩进
- 压缩模式去掉标签之间的空白与注释
- 不做语法校验:标签没闭合、属性引号没配对时尽力缩进而不是报错
使用方法
- 把 XML 粘贴进输入框
- 选择处理方式与缩进
- 按 Ctrl/⌘ + Enter 或点「运行」
- 点「复制」取走结果
常见问题
- 为什么 <br> 之后的内容缩进不对?
- XML 里没有「可以不闭合的元素」这个概念,<br> 会被当成一个没闭合的开始标签。如果你处理的是 HTML,请改用 HTML 格式化工具,它会按 HTML 规范处理空元素。
- 注释会被删掉吗?
- 格式化模式原样保留;压缩模式会删除,XML 里注释不影响解析结果,压缩后体积更小。
- 标签没闭合会怎么样?
- 不报错,工具会按已有层级尽力排下去。这类输入建议先修好结构再看缩进,因为「看起来整齐」并不代表结构正确。
- XML 会被上传吗?
- 不会。全部处理在浏览器内存里完成,页面不发任何请求,断网也能用。
相关工具
HTML 格式化
格式化在线 HTML 格式化与压缩:按标签层级缩进,文本与行内标签保持同一行,script 与 pre 内容原样保留。代码不出浏览器,不上传服务器。
JSON 格式化
格式化在线 JSON 格式化与校验工具,支持格式化、压缩、语法错误定位到具体行列、键名递归排序。所有解析都在浏览器本地完成,数据不上传服务器。
HTML 实体编解码
编码加密把 < > & 与引号转成 HTML 实体,也能把实体还原成字符,而且只解一遍:&lt; 得到的是 < 而不是尖括号。全部在浏览器本地完成。
JSON 转代码
格式化把 JSON 样本转成 TypeScript interface、Go struct、Java class 或 Rust struct:不齐的键标成可选、类型冲突退化为联合类型。全程在浏览器本地生成。
SQL 格式化
格式化在线 SQL 格式化:关键字统一大小写、按 SELECT / FROM / WHERE 等子句换行缩进、子查询逐层展开,压缩模式去掉多余空白与注释。语句不上传服务器。
CSS 格式化
格式化在线 CSS 格式化与压缩:规则块展开、声明逐行、选择器列表一项一行,压缩只删结构位置的空白,保留 margin: 0 auto 这类有语义的空格。