XML语法规则核心有四条:有且仅有一个根元素、所有标签必须闭合、大小写严格区分、嵌套不能交叉;写错任意一条会导致解析器报错,无法加载。

XML语法规则核心就四条:有且仅有一个根元素、所有标签必须闭合、大小写严格区分、嵌套不能交叉。写错任意一条,解析器就会报错,连基本加载都失败。
XML文档必须有声明和唯一根元素
XML文件第一行建议加上声明,比如:
<?xml version="1.0" encoding="UTF-8"?>
它不是必须的,但缺了容易引发编码乱码;encoding值要和实际保存编码一致。整个文档只能有一个顶层元素,叫“根元素”,所有其他标签都得包在里面。
✅ 正确:
<books><book><title>XML入门</title></book></books>
❌ 错误:
<book><title>XML入门</title></book><author>张三</author>(两个并列顶层标签)
标签命名和闭合规则
标签名可以含字母、数字、下划线、中划线,但不能以数字或标点开头,不能含空格和冒号,也不能用xml/Xml/XML打头。
所有标签必须显式关闭——没有自闭合默认行为,哪怕内容为空:
✅ <name>李四</name>
✅ <avatar /> 或 <avatar></avatar>
❌ <name>李四(没闭合)
❌ <1book>…</1book>(数字开头)
❌ <my book>…</my book>(含空格)
属性和内容处理要点
属性写在开始标签里,值必须用单引号或双引号包裹,多个属性用空格分隔:
<student id="1001" class='A' active="true">王五</student>
注意:
• 属性名不能重复
• 属性值里若含、&等字符,要么转义(如),要么包进CDATA区:<br><font color="#2a5f9e"><![CDATA[ a d ]]></font><br>
• 换行缩进会被当作文本保留,所以排版美观≠结构安全,别依赖空格对齐来判断逻辑层级
注释、嵌套与常见陷阱
注释格式是<!-- 这里是注释 -->,不能嵌套,也不能放在声明之前。
嵌套必须严格层叠:
✅ <div><p>文字</p></div>
❌ <div><p>文字</div></p>(交叉关闭)
另外,大小写完全敏感:
<Title>不等于<title>,<Title>…</title>直接报错。
基本上就这些。不复杂但容易忽略,尤其在手写配置或调试报错时,往往卡在某一个斜杠或引号上。










