xml学习笔记

来源:互联网 发布:淘宝电子书怎么没了 编辑:程序博客网 时间:2024/05/02 04:18

1.  xml简介

1.1.  什么是xml

Ø  XML 指可扩展标记语言(EXtensible Markup Language)

Ø  XML 是一种标记语言,很类似 HTML

Ø  XML 的设计宗旨是传输数据,而非显示数据

Ø  XML 标签没有被预定义。您需要自行定义标签。

Ø  XML 被设计为具有自我描述性。

Ø  XML 是 W3C 的推荐标准

1.2.  xml与html的比较

XML 不是 HTML 的替代。

XML 和 HTML 为不同的目的而设计:

XML 被设计为传输和存储数据,其焦点是数据的内容。

HTML 被设计用来显示数据,其焦点是数据的外观。

HTML 旨在显示信息,而 XML 旨在传输信息。

XML 是对 HTML 的补充。

XML 不是对 HTML 的替代,理解这一点很重要。在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。

对 XML 的最好的描述是:XML 是独立于软件和硬件的信息传输工具。

1.3.  xml的用途

1)        XML 把数据从 HTML 分离

2)        XML 简化数据共享

3)        XML 简化数据传输

4)        xml可以作为配置文件

5)        xml可以充当小型数据库

2.  xml语法

2.1.  xml树形结构

XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

         <book category="COOKING">

                     <title lang="en">Everyday Italian</title>

                     <author>Giada De Laurentiis</author>

                     <year>2005</year>

                     <price>30.00</price>

         </book>

         <book category="CHILDREN">

                     <title lang="en">Harry Potter</title>

                     <author>J K. Rowling</author>

                     <year>2005</year>

                     <price>29.99</price>

         </book>

         <book category="WEB">

                     <title lang="en">Learning XML</title>

                     <author>Erik T. Ray</author>

                     <year>2003</year>

                     <price>39.95</price>

         </book>

</bookstore>

2.2.  语法规则

Ø  所有 XML 元素都须有关闭标签

Ø  XML 标签对大小写敏感

Ø  XML 必须正确地嵌套

Ø  XML 文档必须有且只有一个根元素

Ø  XML 的属性值须加引号

Ø  XML 中的注释:<!—注释内容  -->

Ø  在 XML 中,空格会被保留

Ø  XML 以 LF 存储换行

2.2.1.  xml中的实体引用

在 XML 中,一些字符拥有特殊的意义。

如果你把字符"<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。

这样会产生 XML 错误:

<message>if salary < 1000then</message>为了避免这个错误,请用一个实体引用来代替 "<" 字符:

<message>if salary &lt; 1000then</message> 在 XML 中,有 5 个预定义的实体引用:

Ø  &lt; < 小于

Ø  &gt; > 大于

Ø  &amp; & 和号

Ø  &apos; ' 单引号

Ø  &quot; " 引号

注释:在 XML 中,只有字符"<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。

2.3.  文档声明

<?xml version="1.0" encoding="UTF-8" standalone=”yes”?>

xml文档声明放在XML文档的第一行。

XML文档声明由以下几个部分组成:

Ø  version - -文档符合XML1.0规范

Ø  encoding - -文档字符编码,比如”gb2312”

Ø  standalone - -文档定义是否独立使用

standalone="yes“ dtd文件在本文件内部中

standalone=“no”  默认,dtd文件不在本文件中

2.4.  元素

2.4.1.  什么是xml元素?

XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。

XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:

包含标签体:<a>www.sohu.cn</a>

不含标签体的:<a></a>, 简写为:<a/>

一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套,例如:<a>welcome to <b>www.sohu.org</a></b>

2.4.2.  xml元素命名规范

Ø  名称可以含字母、数字以及其他的字符

Ø  名称不能以数字或者标点符号开始

Ø  名称不能以字符 “xml”(或者 XML、Xml)开始

Ø  名称不能包含空格

Ø  名称不能包含:号

Ø  名称区分大小写

2.5.  属性

<Student ID="100">

         <Name>TOM</Name>

</Student>

Ø  属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有",用'分隔)

Ø  一个元素可以有多个属性,它的基本格式为:<元素名属性名="属性值">

Ø  特定的属性名称在同一个元素标记中只能出现一次

Ø  属性值不能包括<,>, &

2.6.  CDATA

有些内容可能不想让解析引擎解析执行,而是当作原始内容处理,用于把整段文本解释为纯字符数据而不是标记的情况。包含大量<、>、&或者"字符。CDATA节中的所有字符都会被当作元素字符数据的常量部分,而不是XML标记。

语法:

<![CDATA[

         ……..

]]>

Ø  可以输入任意字符(除]]>外)

Ø  不能嵌套

2.7.  处理指令

处理指令,简称PI (processinginstruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。        <?xml-stylesheettype="text/css" href=“my.css"?>

处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。

1 0