XML的版本指W3C规范迭代,1.0是主流标准,1.1因不兼容未被采纳;实际使用中应坚持XML 1.0,声明明确且编码用UTF-8。
XML本身没有内置的“版本控制”机制,它的版本指的是W3C发布的规范标准版本,比如1.0和1.1。所谓“版本”,是规范文档的迭代更新,不是像Git那样对单个文件做版本管理。实际使用中,版本信息通过文档声明显式标明,且必须出现在第一行第一列。
目前所有主流系统、解析器、框架(如Java的DOM/SAX、.NET的XmlReader、浏览器XMLHttpRequest)都只支持XML 1.0。它发布于1998年,经多次勘误修订(第二版2000年、第五版2008年),稳定可靠,向下兼容。
XML 1.1发布于2004年,初衷是更好适配Unicode更新,但因兼容性问题从未被广泛采用。它不是1.0的升级替代,而是不向下兼容的独立分支——这意味着一个合法的1.1文档,可能被1.0解析器直接拒绝。
所有主流配置文件(Spring、Maven、AndroidManifest.xml)、数据交换格式(SOAP、RSS)、前端模板(如XSLT输入)都明确要求XML 1.0。即使手动写version="1.1",只要解析器不支持,就
会报“invalid character”或“not well-formed”错误。
基本上就这些。写XML时,坚持用1.0,声明写清楚,编码统一用UTF-8,基本不会踩坑。