你在改一个配置文件,或者导出数据时遇到 .xml 后缀的文件,打开一看全是带尖括号的代码,比如 <name>张三</name>、<age>28</age>……这些就是 XML 标签。它们不是随便写的,得按规矩来,不然程序一读就报错。
XML 标签自己说了算,但得守三条铁律
XML 和 HTML 不一样,HTML 的 <div><p><img> 是浏览器认的固定标签;XML 没预设标签,你可以写 <book>、<price>、<isbn13>,甚至 <小笼包数量>——只要合法就行。但必须满足这三点:
- 有始有终:每个开始标签(如 <title>)必须配一个结束标签(</title>),或写成自闭合形式(<img/> 风格不行,XML 要写成 <photo/>)
- 大小写敏感:<Name> 和 <name> 是两个不同标签,不能混用
- 嵌套不交叉:<a><b>内容</b></a> ✅;<a><b>内容</a></b> ❌
动手写一个最简单的 XML 文件
新建个记事本,保存为 student.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<student>
<id>1001</id>
<name>李四</name>
<grade>89.5</grade>
</student>注意开头那行:<?xml version="1.0" encoding="UTF-8"?> 是声明,不是标签,但它告诉程序:“这是 XML,用 UTF-8 编码读”。少了它,有些工具会乱码或报错。
标签名不能乱起,避开这些坑
虽然你能自定义,但别这么干:
- 以数字开头:<1st_name> → 错!改成 <first_name> 或 <name1>
- 含空格或中文标点:<full name>、<姓名!> → 错!可用下划线 <full_name> 或驼峰 <fullName>
- 用保留字当标签名:<xml>、<xmlns> 开头的都别碰(XML 规范留着自己用)
推荐命名习惯:全小写+下划线,比如 <birth_date>、<is_active>,清晰又稳妥。
想让别人也按你的规则用?加个 DTD 或 XSD
如果你把 XML 文件发给别人,又怕对方填错字段(比如把 <phone> 写成 <tel>,或者漏掉 <email>),可以加个“说明书”——DTD 或 XSD 文件。例如,在 student.xml 顶部加一句:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE student SYSTEM "student.dtd">
<student>
<id>1002</id>
<name>王五</name>
<email>wuwu@example.com</email>
</student>对应的 student.dtd 文件里就能写死:必须有 <id> 和 <name>,<email> 可选,<phone> 最多出现一次……这样别人用支持校验的编辑器(比如 VS Code 装 XML 插件)一保存,立刻提示错在哪。
刚入门不用急着搞 DTD,先把标签写对、能被程序正常读出来,就已经跨过第一道坎了。