XML概述:
Extensible Markup Language 可扩展标记语言
是一种标记语言,和HTML类似
XML的设计宗旨是传输数据,而非显示数据
XML没有被预定义,需自己定义标签
XML设计具有自我描述性
XML是W3C推荐标准
XML和HTML的主要差异:
XML不是HTML的代替
HTML是用来被显示数据的
XML是为传输和存储数据源的
XML应用:
1. 存储和传输复杂关系模型: 简化数据共享、传输,跨平台。
2. 在软件系统中,作为配置文件使用: 提高系统灵活性。
元素与节点:
元素一定是节点,
但是节点不一定是元素,例如文本节点,就不是元素。
元素命名规范:
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符"xml"(或者 XML、Xml)开始
名称不能包含空格
XML语法规范:
1.文档说明
2.元素
3.属性
4.注释
5.CDATA、特殊字符
6.处理指令
1.文档说明:
编写XML文档时,需要先使用文档声明
最简单的声明格式:
<?xml version="1.0" ?>
用encoding属性声明文档的编码:
<?xml version="1.0" encoding="UTF-8" ?>
用standalone属性说明文档是否独立:后面学习
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
2.元素
1)所有 XML 元素都须有关闭标签。
2)XML 标签对大小写敏感。
3)XML 必须正确地嵌套。
4)XML 文档必须有根元素。
5)在 XML 中,空格会被保留。
3.属性:
属性 (Attribute) 提供关于元素的额外(附加)信息。
一个标签可以包含很多个属性,每个属性都有自己的name和value值
XML 的属性值须加引号'单引号'或者 "双引号"
属性的定义遵守与标签相同的命名规范
使用子标签可以实现与属性相同的约束:
<book id='1'> </book>
等价于
<book> <id> 1 </id> </book>
4.注释:
<!-- -->
XML声明之前不能有注释
注释不能嵌套
5.CDATA区
有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
CDATA 部分由 <![CDATA[ 内容 ]]>
转义字符,和HTML一样。
6.处理指令
处理指令,简称PI(processing instruction)。
处理指令用来指挥解析引擎如何解析XML文档内容。
例如,在XML文档中可以使用xml-stylesheet指令,
通知xml解析引擎,应用css文件样式来显示xml内容。
<?xml-stylesheet type="text/css" href="css URL" ?>
处理指令必须是以<? 开头,以 ?>结尾,xml声明语句就是最常用的一种处理指令。
总结:
所有XML 元素都必须有关闭标签
XML 标签对大小写敏感
XML 标签必须被正确的嵌套
XML 文档必须要根元素(有且只有一个)
XML 属性值必须加引号'' ""
特殊字符需要转义处理 CDATA
XML 中的空格、回车换行,解析时会被保留