格式良好的XML必须有且仅有一个根元素,标签闭合、区分大小写、属性值引号包裹、不交叉嵌套、特殊字符转义;有效的XML在此基础上还需符合DTD或XSD定义的结构与业务规则。
格式良好的XML是语法上正确的XML,只要满足基础书写规则就算合格;有效的XML则更进一步,它必须在格式良好基础上,还严格符合某个DTD或XML Schema定义的结构和业务规则。
这是XML能被解析器读取的最低门槛,不涉及业务逻辑,只管“写得对不对”:
) 和 视为不同元素id=123 ❌,id="123" ✅) ❌)&、、> 必须转义为 &、zuojiankuohaophpcn、youjiankuohaophpcn
有效不是独立标准,而是建立在格式良好之上的“增强验证”,核心在于“是否按约定来”:
或
xsi:noNamespaceSchemaLocation="note.xsd")
必须是数字且大于0,那么 free 或 -5 都会导致验证失败格式良好管“能不能读”,就像中文句子有没有主谓宾、标点用对没;有效管“符不符合规矩”,就像这份合同是不是完全按模板条款写的——错一个字段名、少一个必填项,哪怕语法全对,也算无效。
基本上就这些。格式良好是硬性前提,有效是可选但关键的业务保障。