目录
一、认识XML
二、 XML文档结构
1. XML声明
2. 标签
3. 根元素
4. 元素
5. 属性
6. XMl中的特殊字符处理
7. XML中的注释
8. 格式良好的XML文档
三、 XML优势
四、 XML中的命名空间
1. 命名空间的必要性
2. 声明命名空间
3. 属性和命名空间
4. 命名空间的应用
一、认识XML
(1)XML是Extensible Markup Language即可扩展标记语言的编写,是一种简单的数据存储语言,使用一系列简单的标记来描述数据。
(2)XML技术应用广泛,最基本的如网站、应用程序的配置信息一般都采用XML文件描述。
(3)XML的特点如下:
1)XML与操作系统、编程语言的开发平台都无关。
2)规范统一。
(4)XML的作用如下:
1)数据交互
2)配置应用程序和网站
3)Ajax基石
二、 XML文档结构
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="bk101">
<author>王珊</author>
<title>.NET高级编程</title>
<description>包含C#框架和网络编程等</description>
</book>
<book id="bk102">
<author>李明明</author>
<title>XML基础编程</title>
<description>包含XML基础概念和基本用法</description>
</book>
</books>
1. XML声明
(1)<?xml version="1.0" encoding="UTF-8"?>表示XML声明,用以表明该文件是一个XML文档。
(2)XML文档总是以XML声明开始,它定义了XML的版本和使用的编码格式等信息。
(3)XML声明由以下几个部分组成:
-->version:文档符合XML1.0规范。
-->encoding:文档字符编码,默认为"UTF-8"。
(4)对于任何一个XML文档,其声明部分都是固定的格式。
2. 标签
(1)在XML中,用尖括号<>括起来的各种标签(Tag)来标记数据,标签需成对使用来界定字符数据。
<author>王珊</author>这一对标签中,<author>是开始标签,</author>是结束标签,"王珊"是标签描述的内容,表示作者信息。
(2)XML文件可以包含任意数量的标签。
3. 根元素
(1)每个XML文档必须有且仅有一个根元素,如<books><books>。
(2)根元素的特点如下:
-->根元素是一个完全包含文档中其它所有元素的元素。
-->根元素的起始标签要放在所有其它元素的起始标签之前。
-->根元素的结束标签要放在所有其它元素的结束标签之后。
4. 元素
(1)XML文档的主要部分是元素,元素由开始标签、元素内容和结束标签组成。
(2)元素内容可以包含子元素、字符数据等。如<author>王珊</author>就是一个元素。
(3)元素的命名规则如下:
-->名称中可以包含字母、数字或其它字符。
-->名称不能以数字或标点符号开始。
-->名称不能以字符xml(或者XML、Xml)开始。
-->名称中不能包含空格。
(4)XML标签必须成对出现并正确嵌套
<title><name>XML编程</title></name>是错误的
(5)元素允许是空元素,如下元素的写法是允许的。
<title> </title>或<title></title>或<title/>
5. 属性
(1)属性定义语法格式如下:
<元素名 属性名 = "属性值">
(2)属性值用一对双引号括起来。
(3)一个元素可以有多个属性,它的基本格式为<元素名 属性名="属性值" 属性名="属性值"/>,多个属性之间用空格隔开。
(4)属性值中不能直接包含<、"、&等字符。
(5)属性可以加在任何一个元素的起始标签上,但不能加在结束标签上。
6. XMl中的特殊字符处理
(1)在XML中,有时在元素的文本中会出现一些特殊字符(如<、>、'、"、&),而XML文档结构本省就用到了这几个特殊字符,有以下两种办法,可以正确地解析包含特殊字符的内容。
-->对这5个特殊字符进行转义,也就是使用XML中的预定义实体代替这些字符:
-->如果在元素的文本中有大量的特殊字符,可以使用CDATA节处理。CDATA节中的所有字符都会被当做元素字符数据的常量部分,而不是XML标签。
定义CDATA节的语法格式如下:
<![CDATA[
要显示的字符
]]>
7. XML中的注释
(1)注释的语法格式如下:
<!-- 注释内容-->
8. 格式良好的XML文档
(1)格式良好的XML文档需要遵循如下规则:
-->必须有XML声明语句。
-->必须有且仅有一个根元素。
-->标签大小写敏感。
-->属性值必须用双引号包含起来。
-->标签成对出现。
-->元素正确嵌套。
三、 XML优势
(1)XML独立于计算机平台、操作系统和编程语言来表示数据,凭借其简单性、可扩展性、交互性和灵活性在计算机行业中得到了世界范围的支持和采纳。
(2)XML基于文本格式,允许开发人员描述结构化数据并在各种应用之间发送和交换这些数据,使得不同系统之间交互数据具备了统一的格式。
(3)XML的优势主要体现在以下几点:
1)数据存储:
-->XML与Oracle和SQL Server等数据库一样,都可以实现数据的持久化存储。
-->XML极其简单,正是这点使得XML与众不同。
2)数据交换:
-->在实际应用中,由于各个计算机所使用的操作系统、数据库不同,因此数据之间的交换很复杂。
-->现在可以使用XML来交换数据,例如可以将数据库A中的数据转换成标准的XML文件,然后数据库B再将该标准的XML文件转换成适合自己数据要求的数据,以达到交换数据的目的。
-->再比如,气象部门发布了天气预报信息,不同的系统(计算机、手机)以及不同的软件(QQ、MSN)和各种网站都可以去读取和显示这些信息,正是因为天气预报信息以XML格式存储,才使得不同系统、不同软件都能解析统一的数据并显示。
3)数据配置:
-->许多应用都将配置数据存储在XML文件中。
四、 XML中的命名空间
(1)命名空间在XML文档中可以用作元素或属性名称的名称集合。
(2)命名空间用来标识来自特定域(标准组织、公司、行业)的名称。
1. 命名空间的必要性
-->XML解析器在解析XML文档时,对于重名的元素,可能出现解析冲突。
-->命名空间有助于标准化元素和属性,并为它们加上唯一的标识。
2. 声明命名空间
-->声明命名空间的语法格式如下:
xmlns:[prefix]="[命名空间的URI]"
-->prefix是前缀名称,它用作命名空间鹅别名。
-->xmlns是保留属性
3. 属性和命名空间
-->除非带有前缀,否则属性属于它们的元素所在的命名空间。
4. 命名空间的应用
-->上面示例中,声明了2个命名空间,别名分别是digital和photo。对应的URI分别是http://www.digicam.org和JAVA进阶——Socket编程。
-->第一个camera加上了前缀digital,则它属于digital代表的命名空间,第二个camera加上了前缀photo,则它属于photo代表的命名空间。这样,就使得数据更加精确。