well-formed XML必须满足基本语法规范:有且仅有一个根元素,标签闭合且正确嵌套,属性值用引号包围,特殊字符使用实体引用,违反任一规则将导致解析错误。

XML解析错误中提到的“well-formed”是指XML文档是否符合基本的语法规范。一个“well-formed”(良好格式)的XML文档必须遵循一系列强制性规则,否则解析器会报错,无法正确读取内容。
什么是well-formed XML?
“Well-formed”是XML的基本要求,表示文档结构正确、语法合法。只要违反以下任意一条规则,XML就不是well-formed,解析时就会出错。
常见well-formed规则包括:- 有且仅有一个根元素,所有其他元素都嵌套在根元素内
- 所有开始标签必须有对应的结束标签(或使用自闭合标签)
- 标签必须正确嵌套,不能交叉
- 属性值必须用引号包围(单引号或双引号)
- 标签名大小写敏感,且不能包含空格或非法字符
- 特殊字符(如 , &)需使用实体引用(如 zuojiankuohaophpcn, youjiankuohaophpcn, &)
常见well-formed错误示例
以下是一些典型的导致well-formed错误的情况:
-
缺少闭合标签:
张三 (缺少 ) - 标签嵌套错误: (应先闭合i再闭合b)
-
属性未加引号:
(应为 id="123") - 包含未转义的&符号: age & gender (应写作 age & gender)
well-formed与valid的区别
注意,“well-formed”不同于“valid”。well-formed只关注语法是否正确;而“valid”XML还需满足特定的DTD或Schema定义的结构和数据类型约束。一个XML可以是well-formed但不valid,但如果不well-formed,就根本无法被解析,更谈不上valid。
基本上就这些。只要确保XML语法正确,就能避免well-formed错误。










