XML基础

XML 主页
XML 入门简介
XML 如何使用
XML 语法
XML 元素
XML 属性
XML 确认
XML 浏览器
XML 检视
XML 使用CSS
XML 使用XSL
XML 数据岛
XML 解析器
XML 应用

XML 高级部分
XML 命名空间
XML CDATA
XML 编码
XML 服务器
XML 应用
XML HTTP
XML 行为
XML 技术

实例/测验
XML 例子
XML 测验

资源
XML 书籍
XML 规范

XML 应用程序


这一节示范了一个小型的XML应用程序框架。


从XML文档开始

首先我们建立一个简单的XML文档。

来看一下我们原始的XML文档,描述了CD目录。

<?xml version="1.0" encoding="ISO-8859-1"?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
.
.
... more ...
.

如果你使用IE5.0或者更高版本r, 浏览完整的XML文档。


将XML文档载入数据岛

数据岛可以访问XML文件。

通过数据岛,可以把XML文档引入到HTML页面中。

<xml src="cd_catalog.xml" id="xmldso" async="false">
</xml>

使用上面示例代码,可以把cd_catalog.xml文件载入一个叫"xmldso"的数据岛中。属性async="false"的作用是在HTML处理器开始处理XML数据以前,必须确保XML文档中的所有数据都被载入到内存中。


把XML数据绑定到HTML的表格元素中

HTML中的table元素可以用来显示XML数据。

为了使你的XML数据能在HTML页面中显示出来,必须把的数据岛绑定到一个HTML元素上。

把XML数据绑定到table元素,需要在table属性添加一个资源属性,并且在span元素中添加字段属性:

<table datasrc="#xmldso" width="100%" border="1">
<thead>
<th>Title</th>
<th>Artist</th>
<th>Year</th>
</thead>
<tr align="left">
<td><span datafld="TITLE"></span></td>
<td><span datafld="ARTIST"></span></td>
<td><span datafld="YEAR"></span></td>
</tr>
</table>

如果你使用的是IE5.0或者更高版本: 观看数据岛绑定的实例


把数据岛绑定到<span> 或者<div> 元素上

<span>或<div>元素都可以用来显示XML数据。

没有必要使用table元素来显示XML数据,数据可以通过数据岛绑定到任何一个HTML元素上。

所要做的就是在你得页面中添加一些<span> 或者<div>元素,使用数据资源属性把每一个元素和XML文档元素绑定起来,就象下面这样:

<br />Title:
<span datasrc="#xmldso" datafld="TITLE"></span>
<br />Artist:
<span datasrc="#xmldso" datafld="ARTIST"></span>
<br />Year:
<span datasrc="#xmldso" datafld="YEAR"></span>

或者象这样的形式:

<br />Title:
<div datasrc="#xmldso" datafld="TITLE"></div>
<br />Artist:
<div datasrc="#xmldso" datafld="ARTIST"></div>
<br />Year:
<div datasrc="#xmldso" datafld="YEAR"></div>

如果你使用IE5.0或者更高版本: 观看数据绑定到HTML元素上的实例。

注意如果你使用<div>元素,数据将会显示在新的一行里。

上面的例子,可以看到XML数据都显示在一行里。如果要控制数据换行,就必须在你的代码里添加一些脚本程序。 


为你的XML数据添加导航脚本

可以通过脚本程序来实现导航功能。

添加数据岛方法,使用脚本函数movenext() 和 moveprevious() 来实现导航功能。

<script type="text/javascript">
function movenext()
{
x=xmldso.recordset
if (x.absoluteposition < x.recordcount)
{
x.movenext()
}
}
function moveprevious()
{
x=xmldso.recordset
if (x.absoluteposition > 1)
{
x.moveprevious()
}
}
</script>

如果你使用IE5.0或者更高版本:观看具有导航功能的XML数据绑定实例。


小结

如果你有创造力的话就可以编写出非常完善的应用程序。

如果你使用在这一页中学到的知识,在发挥一下想象力,就可以轻易的创造出完善的应用程序。

如果你使用IE5.0或者更高版本:观看一个做了一些修改的数据绑定实例。