开标记(放在尖括号中的元素名称,比如)、元素中的数据和闭标记(与开标记想通,但是在左括号后有一个斜线:)。
例如定义一个存储书名的元素:1 Tristram Shandy 注意:元素是区分大小写的!例如:和是不同的! 元素也可以包含其他元素,因此可以修改此元素,添加两个子元素,使之包括作者和标题:12 Tristram Shandy3 Lawrence Sterne45 但是元素不允许重叠!例如: Tristram Shandy Lawrence Sterne 这样是错误的!2、XML 属性 与在元素体内存储数据一样,也可以在属性内存储数据,属性添加到元素的开标记内。
属性的形式为: Name “value” 其中属性值必须包含在单引号或者双引号内。
例如: 或者:3、XML 声明 XML 文档的各个组成部分称为节点----因此元素、元素内的文本和属性都是 XML 文档的节点。
但是只有一种类型的节点存在几乎所有的 XML 文档中,这就是 XML 声明,如果包括了它,它就必须是文档的第一个节点。
XML 声明的格式类似于元素,但是在尖括号内有问号。
它一贯的名称是 xml,并总是有version 属性。
最简单的 XML 声明形式为:4、XML 文档的结构 XML 数据是分层组织的,有点类似于 Windows Explorer 中的文件夹和文件。
每一个文档必须有一个根元素,该元素是所有其他元素的父元素。
XML 文档中的元素形成了一棵文档树。
这棵树从根部开始,并扩展到树的最底端。
在这个根元素下包含了其他所有的元素和文本数据。
如果在文档的顶级中有多个元素,改文档就是不合法的 XML 文档。
但是可以在顶级包括其他XML 节点,所有元素均可拥有子元素。
所有的 XML 元素都必需有闭标签。
下面的 XML 文档是合法的:123 Mody Dick4 Tristram Shandy5 Ulysses67 但是下面的文档就不合法:Mody DickTristram ShandyUlysses XML 文档不需要任何预定义的结构。
这是传统关系数据库和 XML 的主要区别之一。
信息存储在 XML 中时不需要这个初始设置,所以 XML 是存储小块数据的非常方便的方式。
5、XML 命名空间 先来看看下面的例子。
一个 XML 文档中包含了一个表格的信息:123Apples4Bananas567 而另一个文档中包含了一个桌子的信息(一件家具):12 African Coffee Table3 804 12056 假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的元素,就会发生命名冲突。
怎么解决呢?有两种方法,一种是使用前缀,一种是使用命名空间。
1)使用前缀 带有表格信息的文档:123 Apples4 Bananas567 带有桌子信息的文档: African Coffee Table 80 120 现在,命名冲突不存在了,这是由于两个文档都使用了不同的名称来命名它们的 元素 和 。
通过使用前缀,我们创建了两种不同类型的 元素。
2)使用命名空间 带有表格信息的文档: Apples Bananas 带有桌子信息的文档: African Coffee Table 80 120 与使用前缀不同,我们为 标签添加了一个 xmlns 属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。
与使用前缀相比,感觉使用命名空间不过是在标签上多加了个 xmlns 的属性而已,既然效果一样,为什么还要多次一举呢(多加一个标签)?至于为什么要使用命名空间的好处,我的理解还不是很深刻,请大家多多赐教。
二、XML 文档的验证 现在一般使用两种验证方法:XMLDTD 和 XML Schema。
1、XML DTD 文档类型定义(DTD)可定义合法的 XML 文档构建模块,它使用一系列合法的元素来定义文档的结构。
DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。
带有 DTD 的 XML 文档实例(请在 IE5 以及更高的版本打开,并选择查看源代码): 代码 具体内容参考 http://www.w3cschool.cn 上的标准。
2、XML Schema XML Schema 是基于 XML 的 DTD 替代者。
XML Schema 描述 XML 文档的结构。
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD)。
这部分的内容太多了,改天专门整理一个文档。
具体内容参考 http://www.w3cschool.cn上的标准。
三、使用 javascript 解析 XML 创建的 book.xml 如下: 代码1234 路遥567 施耐庵、罗贯中8910 吴承恩111213 客户端代码如下: 代码 从上面的代码得知,使用 javascript 解析 xml 需