XML解析报错not well-formed怎么解决 XML格式检查方法

12次阅读

“not well-formed”表示xml文档违反基本语法规则,如标签未闭合、嵌套交叉、自闭合标签缺斜杠、属性值引号不匹配或含未转义的特殊字符(如

XML解析报错not well-formed怎么解决 XML格式检查方法

XML报错“not well-formed”表示文档不符合XML基本语法规则,不是格式良好的XML。这类错误通常在解析初期就被拒绝,和内容逻辑无关,只跟结构、符号、编码等底层规范有关。

检查XML是否闭合完整

XML要求所有开始标签必须有对应结束标签(或自闭合),且嵌套不能交叉。常见错误包括:

  • 漏写结束标签,如张三 没有
  • 标签交叉嵌套:(错误)应为
  • 自闭合标签未加斜杠:XML解析报错not well-formed怎么解决 XML格式检查方法 应为 XML解析报错not well-formed怎么解决 XML格式检查方法

验证引号与特殊字符是否合规

属性值必须用单引号或双引号包裹,且内部不能混用或缺失;同时,小于号

  • 错误:(属性值没引号)
  • 错误:5 应写成 5 zuojiankuohaophpcn 10
  • 错误:He said “Hello” 若外层用双引号,内部需转义为 或改用单引号包裹

确认编码声明与实际编码一致

文件开头的必须与文件真实编码完全匹配。常见问题:

  • 声明为UTF-8,但文件实际保存为GBK(尤其Windows记事本易出此错)
  • BOM头干扰:UTF-8 with BOM可能被某些解析器识别为非法字符,建议保存为无BOM UTF-8
  • 中文路径或内容含不可见控制字符(如零宽空格、软回车),可用编辑器“显示所有字符”功能排查

用工具快速验证XML格式

人工检查易疏漏,推荐以下轻量方式验证:

  • 浏览器直接打开XML文件:现代Chrome/Firefox会高亮报错位置并提示原因
  • 在线校验工具:如https://www.xmlvalidation.com/,粘贴内容或上传文件即可反馈具体行号和错误类型
  • IDE辅助:VS Code安装“XML Tools”插件,可格式化+实时校验;IntelliJ/PyCharm默认支持XML语法检查
  • 命令行(Linux/macOS):xmllint –noout yourfile.xml,返回空表示格式良好

不复杂但容易忽略。抓住闭合、引号、转义、编码四个关键点,再借助工具定位,99%的not well-formed错误都能快速解决。

text=ZqhQzanResources