XML是一种严格结构化的纯文本数据格式,用于传输存储交换数据;需有唯一根元素、大小写敏感标签、正确嵌套与闭合、引号包裹属性值,并遵循命名规范及特殊字符转义规则。
XML格式指的是一种严格、结构化的纯文本数据组织方式,核心是用自定义标签描述数据内容和层级关系,不是用来显示页面,而是为了传输、存储和交换数据。
XML必须满足的基本格式要求
一个合法的XML文档不是随便写写就能被程序正确读取的,它有几条硬性规则:
- 有且仅有一个根元素,所有其他标签都必须嵌套在它内部
- 第一行通常是声明,如,版本和编码建议明确写出
- 标签大小写敏感, 和 是两个不同元素
- 所有开始标签必须有对应结束标签(张三),或写成自闭合形式()
- 标签必须正确嵌套,不允许交叉,比如 是非法的
- 属性值必须用引号包裹,单双引号均可,例如
XML标签和属性怎么用才合理
XML允许你自由定义标签名,但命名不是随意的:
- 不能以数字或标点开头,如 或 都不合法
- 不能包含空格或冒号(:), 和 都不行
- 避免用 xml 开头(大小写任意组合),这是保留前缀
- 属性适合放简单元数据,比如ID、状态、类型;复杂内容或可能扩展的信息,应改用子元素
- 例如:XML入门
李明 比全用属性更清晰、可维护
特殊字符和注释处理方法
XML里有些符号有特殊含义,直接写会报错,需要转义或包裹:
- 小于号 写成 zuojiankuohaophpcn,大于号 > 写成 youjiankuohaophpcn
- 与符号 & 必须写成 &,否则解析器会误认为是实体开头
- 双引号 " 在属性值中已用双引号包裹时,可用单引号替代;否则写成 "
- 大段含特殊字符的文本(如JS代码、SQL语句),可用 包裹,里面的内容原样保留不解析
- 注释写法和HTML一样:,不能嵌套
XML和HTML最根本的区别
很多人
初学容易混淆,关键记住三点:
- HTML是预定义标签的显示语言(、 等有固定含义),XML所有标签都由你定义,没有默认语义
- HTML语法宽松(比如标签可以不闭合),XML语法极其严格,一处格式错误整个文档就无法解析
- HTML目标是“怎么展示”,XML目标是“是什么数据”,两者分工明确,常配合使用——XML传数据,HTML(或XSLT)来呈现