XML 格式化是把挤在一行或缩进混乱的 XML 按元素层级重新缩进换行,便于阅读和检查标签嵌套。下面重点说明关键规则与常用写法。
XML格式化速查表
- 按层级缩进,每个子元素一行
- 格式化同时可以发现未闭合的标签
- 元素之间新增的空白通常不影响数据
- 混合内容(文本和元素交错)格式化后空白会变化
- 常用 2 空格或 4 空格缩进
- 匹配开始标签:<([A-Za-z_][\w.-]*)(\s[^>]*)?>
- 匹配 XML 声明:^<\?xml[^>]*\?>
- 查找未转义的 &:&(?!amp;|lt;|gt;|quot;|apos;|#)
示例
输入:<list><item>a</item><item>b</item></list>
格式化结果:
<list>
<item>a</item>
<item>b</item>
</list>
说明:每层缩进 2 个空格。
与相关技术的区别
XML 与 JSON:XML 支持属性、命名空间和 Schema 校验,适合文档和强约束的数据交换;JSON 更简洁,适合 Web API。XML 与 HTML:HTML 有固定标签且语法宽松,XML 标签自定义且语法严格。
乱码排查
XML 中文乱码:声明 encoding="UTF-8" 但文件以 GBK 保存,或反过来。解析器报 Invalid byte 时也是这个原因。
本站的XML/JSON互转工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【XML 和 HTML 有什么区别?】HTML 用于展示网页,标签固定、语法宽松;XML 用于描述数据,标签自定义、语法严格。
【XML 转 JSON 属性怎么表示?】常见约定是在属性名前加 @,文本内容用 #text 表示。
【XML 文件开头的声明必须写吗?】不是必须的,没有声明时默认 XML 1.0、UTF-8。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
标签: 文本处理