XML作为可扩展标记语言,在数据存储和传输场景中被广泛使用,入门阶段最容易出错的就是各类命名相关的规则,很多新手写出的XML文档因为命名不合法,无法被解析器正常识别。

XML标签的命名规则
XML标签名是文档结构的核心,必须遵循以下基础规则:
- 标签名只能以字母、下划线
_或者冒号:开头,不能以数字、标点符号开头,比如<1user>就是非法标签。 - 标签名中不能包含空格、制表符等空白字符,也不能包含
<、>、&、"、'这些特殊字符。 - 标签名不能以
xml(无论大小写,比如XML、Xml、xMl)开头,这是XML的保留前缀,用于标准定义的特殊标签。 - 标签名区分大小写,
<User>和<user>是两个完全不同的标签。
下面是一个合法的XML标签示例:
<?xml version="1.0" encoding="UTF-8"?>
<user_info>
<user_name>张三</user_name>
<user_age>25</user_age>
</user_info>
XML属性的命名规则
XML标签的属性命名规则和标签名基本一致,同时还有额外的限制:
- 属性名同样不能以数字、特殊字符开头,不能包含空格和XML保留前缀。
- 同一个标签内的属性名不能重复,比如
<user id="1" id="2">就是非法写法。 - 属性值必须用双引号或者单引号包裹,不能省略引号,比如
<user id=1>不符合规范。
正确的属性写法示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<book_list>
<book id="1001" category="编程">XML入门教程</book>
<book id="1002" category="文学">散文精选</book>
</book_list>
XML其他命名相关注意事项
除了标签和属性,XML中还有一些命名相关的细节需要注意:
- XML声明中的版本、编码等参数名是固定的,不能随意修改,比如
version不能写成Version。 - 实体引用的名称也需要符合命名规则,自定义实体时不能以数字开头,不能包含特殊字符。
- 命名空间的前缀同样要遵循标签名的命名规则,不能使用保留前缀。
常见错误示例对比
下面通过表格对比常见的错误命名和正确命名:
| 场景 | 错误写法 | 正确写法 |
|---|---|---|
| 标签名开头 | <1student> | <student1> |
| 标签名包含空格 | <user name> | <user_name> |
| 属性值无引号 | <book id=1001> | <book id="1001"> |
| 重复属性 | <item num="1" num="2"> | <item num="1" count="2"> |
掌握这些XML命名规则后,就能避免入门阶段绝大多数因命名导致的文档错误,后续学习XML的解析、转换等进阶内容也会更顺畅。