什么是XML
- 英文全称为Extensible MarkuP Language,翻译过来为可扩展标记语言。XML技术是W3C组织发布的,目前遵循的是W3C组织于2000发布的XML1.0规范。
- XML就是为了解决这样的需求而产生数据存储格式。
XML是如何保存数据
示例如下:<?xml version="1.0" encoding="GB2312"?> <中国> <北京> <海淀></海淀> <丰台></丰台> </北京> <河北> <唐山></唐山> <石家庄></石家庄> </河北> <山东> <济南></济南> <青岛></青岛> </山东> </中国>
XML常见应用场景
传输数据
- XML本质上是一段字符串,具有跨平台性的特性,因此XML常被用来在不同系统之间进行数据交换。
① 通常来说一个XML必须包含且只包含一个文档声明
② 文档声明必须处在XML的第一行,前面不能有其他内容
③ 如果一个XML不包含文档声明则称这样的XML为格式不良好的XML
④ 在许多时候即使不包含文档声明,XML也可以被正常使用,但是这是不符合标准的,存在风险,因此强烈推荐大家在书写XML时写上文档声明。
② 文档声明必须处在XML的第一行,前面不能有其他内容
③ 如果一个XML不包含文档声明则称这样的XML为格式不良好的XML
④ 在许多时候即使不包含文档声明,XML也可以被正常使用,但是这是不符合标准的,存在风险,因此强烈推荐大家在书写XML时写上文档声明。
写法一:
写法二
用encoding属性说明文档的字符编码:
<?xml version="1.0" encoding="GB2312" ?>
encoding告知解析器使用何种编码解析当前xml
encoding默认值为ISO8859-1
写法三
用standalone属性说明文档是否独立:<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
standalone表示当前xml文档是否是一个独立文档,当为yes时表示是一个独立文档,当为no时表示当前文档需要其他文档支持。
XML元素
①一个XML标签就是一个XML元素。
②一个XML标签分为开始标签和结束标签,在开始标签和结束标签之间的文本被称为标签体。
包含标签体:<a>www.itcast.cn</a>
③如果一个不包含标签体也不包含其他元素,那么可以将开始标签和结束标签合并,这样的标签称为自闭标签
④不含标签体及其他元素:<a></a>可以简写为自闭标签:<a/>
②一个XML标签分为开始标签和结束标签,在开始标签和结束标签之间的文本被称为标签体。
包含标签体:<a>www.itcast.cn</a>
③如果一个不包含标签体也不包含其他元素,那么可以将开始标签和结束标签合并,这样的标签称为自闭标签
④不含标签体及其他元素:<a></a>可以简写为自闭标签:<a/>
<?xml version="1.0" ?> <span style="white-space:pre"> </span><a> <span style="white-space:pre"> </span>www.csdn.cn <span style="white-space:pre"> </span></a> <span style="white-space:pre"> </span><a> <span style="white-space:pre"> </span>www.it5.cn <span style="white-space:pre"> </span></a>⑦ 格对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。例如:下面两段内容的意义是不一样的。
<--第一段--> <网址>www.csdn.cn</网址> <--第二段--> <网址> www.csdn.cn </网址>由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变。
命名规范
一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:① 区分大小写,例如,<P>和<p>是两个不同的标记。
② 不能以数字或标点符号或"_"开头。
③ 不能以xml(或XML、或Xml 等)开头。
④ 不能包含空格。
⑤ 名称中间不能包含冒号(:)。
属性
① 一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:<china capital="beijing"/>
② 属性值一定要用双引号(")或单引号(')引起来
<china capital='beijing'/>
③ 定义属性名必须遵循与元素相同的命名规范
XML注释
CDATA区
不使用CDATA:
使用CDATA:
转义字符
对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。CDATA区与转义的不同:CDATA可以保留特殊符号而转义是使用其他的符号代替特殊符号。因此场景一中问题应使用用CDATA区处理.
在读取的时候,解析器会自动将其转换回"&","<",">"等特殊字符,正常来说,只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。
需要注意的是:
a. 转义序列各字符间不能有空格;
b. 转义序列必须以";"结束;
c. 单独的&不被认为是转义开始;
d. 区分大小写。
以下是XML中需要的转义字符:[/size]
&(逻辑与) &
>(大于) >
"(双引号) "
'(单引号) ' [/size];