Ø XML 指可扩展标记语言(EXtensible Markup Language)
Ø XML 是一种标记语言,很类似 HTML
Ø XML 的设计宗旨是传输数据,而非显示数据
Ø XML 标签没有被预定义。您需要自行定义标签。
Ø XML 被设计为具有自我描述性。
Ø XML 是 W3C 的推荐标准
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
XML 是对 HTML 的补充。
XML 不是对 HTML 的替代,理解这一点很重要。在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。
对 XML 的最好的描述是:XML 是独立于软件和硬件的信息传输工具。
1) XML 把数据从 HTML 分离
2) XML 简化数据共享
3) XML 简化数据传输
4) xml可以作为配置文件
5) 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> |
Ø 所有 XML 元素都须有关闭标签
Ø XML 标签对大小写敏感
Ø XML 必须正确地嵌套
Ø XML 文档必须有且只有一个根元素
Ø XML 的属性值须加引号
Ø XML 中的注释:<!—注释内容 -->
Ø 在 XML 中,空格会被保留
Ø XML 以 LF 存储换行
在 XML 中,一些字符拥有特殊的意义。
如果你把字符"<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
这样会产生 XML 错误:
<message>if salary < 1000then</message>为了避免这个错误,请用一个实体引用来代替 "<" 字符:
<message>if salary < 1000then</message> 在 XML 中,有 5 个预定义的实体引用:
Ø < < 小于
Ø > > 大于
Ø & & 和号
Ø ' ' 单引号
Ø " " 引号
注释:在 XML 中,只有字符"<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。
<?xml version="1.0" encoding="UTF-8" standalone=”yes”?> |
xml文档声明放在XML文档的第一行。
XML文档声明由以下几个部分组成:
Ø version - -文档符合XML1.0规范
Ø encoding - -文档字符编码,比如”gb2312”
Ø standalone - -文档定义是否独立使用
standalone="yes“ dtd文件在本文件内部中
standalone=“no” 默认,dtd文件不在本文件中
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:
包含标签体:<a>www.sohu.cn</a>
不含标签体的:<a></a>, 简写为:<a/>
一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套,例如:<a>welcome to <b>www.sohu.org</a></b>
Ø 名称可以含字母、数字以及其他的字符
Ø 名称不能以数字或者标点符号开始
Ø 名称不能以字符 “xml”(或者 XML、Xml)开始
Ø 名称不能包含空格
Ø 名称不能包含:号
Ø 名称区分大小写
<Student ID="100"> <Name>TOM</Name> </Student> |
Ø 属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有",用'分隔)
Ø 一个元素可以有多个属性,它的基本格式为:<元素名属性名="属性值">
Ø 特定的属性名称在同一个元素标记中只能出现一次
Ø 属性值不能包括<,>, &
有些内容可能不想让解析引擎解析执行,而是当作原始内容处理,用于把整段文本解释为纯字符数据而不是标记的情况。包含大量<、>、&或者"字符。CDATA节中的所有字符都会被当作元素字符数据的常量部分,而不是XML标记。
语法:
<![CDATA[
……..
]]>
Ø 可以输入任意字符(除]]>外)
Ø 不能嵌套
处理指令,简称PI (processinginstruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。 <?xml-stylesheettype="text/css" href=“my.css"?>
处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。