跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

格式良好的(Well-Formed)XML是什么,它和有效的(Valid)XML有何区别?

格式良好的XML必须有且仅有一个根元素,标签闭合、区分大小写、属性值引号包裹、不交叉嵌套、特殊字符转义;有效的XML在此基础上还需符合DTD或XSD定义的结构与业务规则。 格式良好的XML是语法上正确的XML,只要满足基础书写规则就算合格;有效的XML则更进一步,它必须在格式良好基础上,还严格符合某个DTD或XML Schema定义的结构和业务规则。 格式良好的XML要满足哪些基本规则 这是XML能被解析器读取的最低门槛,不涉及业务逻辑,只管“写得对不对”: 有且仅有一个根元素 所有开始标签都有对应结束标签,或正确使用自闭合形式(如
) 标签严格区分大小写,
和
视为不同元素 属性值必须用双引号或单引号包裹,不能裸写(
id=123
❌,
id="123"
✅) 标签不能交叉嵌套,必须呈严格的父子/兄弟关系(
❌) 特殊字符如
&
、
<
、
>
必须转义为
&
、
、>
有效的XML多了哪些要求 有效不是独立标准,而是建立在格式良好之上的“增强验证”,核心在于“是否按约定来”: 文档开头必须声明 DTD 或引用 XSD(例如
或
xsi:noNamespaceSchemaLocation="note.xsd"
) 元素名称、出现顺序、嵌套层级、出现次数都得跟 DTD/XSD 定义完全一致 属性名、是否必需、默认值、数据类型(比如 xs:date、xs:integer)都要匹配 如果 DTD 规定
必须是数字且大于0,那么
free
或
-5
都会导致验证失败 关键区别一句话说清 格式良好管“能不能读”,就像中文句子有没有主谓宾、标点用对没;有效管“符不符合规矩”,就像这份合同是不是完全按模板条款写的——错一个字段名、少一个必填项,哪怕语法全对,也算无效。 基本上就这些。格式良好是硬性前提,有效是可选但关键的业务保障。

相关文章