在 Microsoft Internet Explorer5.0 里,你可以利用XML元素来创建数据岛,数据岛就是被HTML页面引用或包含的XML数据,XML数据可以包含在HTML文件内,也可以包含在某外部文件内。
利用XML元素可以让我们免除了编写脚本的麻烦,如果用户由于安全的考虑禁止执行脚本的话,<object>标记将不能正常工作,那时因为,要初始化XML,必须编写脚本。
行内XML
行内XML包含在标记<XML>和</XML>之间,例如:
<XML ID="xmlData">
<?xml version="1.0" ?>
<trees>
<tree>
<name>小龙女</name>
<height unit="cm">180</height>
</tree>
<tree>
<name>大侠杨过</name>
<height unit="cm">178</height>
</tree>
</trees>
</XML>
引用XML文件
使用<XML>标记的SRC属性来引用外部的XML文件,SRC属性可以引用本地的文件,也可以指定一个URL,URL指向外部的服务器,数据可以从数个不同的服务器综合在一起。下面例子的SRC属性引用到本地的XML文件。
<XML ID="xmlData" SRC="xmlData.xml"></XML>
其中的文件xmlData.xml里含有XML数据 。
下面的例子引用一个远程服务器上的XML文件:
<XML ID="xmlData" SRC="http://lucky.myrice.com/exam/xmlData.xml"></XML>
从数据岛读取数据
从数据岛读取数据是利用<XML>元素的ID属性来完成的。通过能够接收数据的HTML标记(把数据绑定到该HTML),我们可以进行格式化或显示数据岛里的数据。下面的例子显示元素为<meeting>里各XML子元素的内容:
<HTML><HEAD><TITLE></TITLE></HEAD>
<BODY>
<XML ID="xmlMeetings">
<?xml version="1.0" ?>
<meetings>
<meeting>
<date>1/1/99</date>
<time>9:00</time>
<location>104号房间</location>
</meeting>
<meeting>
<date>2/1/99</date>
<time>13:00</time>
<location>34号房间</location>
</meeting>
<meeting>
<date>3/1/99</date>
<time>14:30</time>
<location>20号房间</location>
</meeting>
</meetings>
</XML>
<table datasrc="#xmlMeetings">
<tr>
<td><div datafld="date"></div></td>
<td><div datafld="time"></div></td>
<td><div datafld="location"></div></td>
</tr>
</table>
</BODY>
</HTML>
标记<table>利用DATASRC属性引用行内XML,DATASRC属性实际上是通过在要处理的XML元素的ID属性的前面加上#来实现的。由于TD元素不能绑定数据,因此,必须找一个能够绑定数据的元素,在上面的例子里,我们用DIV元素的DADAFLD属性来绑定到要显示的XML元素,例如:DATAFLD="date"就把XML元素里<date>里的值绑定到了DIV。
当XML元素被浏览器读入后,对每对<meeting></meeting>标记创建了不同的行。
创建XML应用的步骤:
1. 创建一个新的 XML 文档
2. 把下面的代码拷贝粘贴到你的 XML 文档里。
<?xml version="1.0" encoding="gb2312" ?>
<世界国家介绍>
<国家信息>
<国家名称>中国</国家名称>
<人口>12亿</人口>
<首都>北京</首都>
<货币>人民币¥</货币>
</国家信息>
<国家信息>
<国家名称>美国</国家名称>
<人口>12万</人口>
<首都>华盛顿</首都>
<货币>美圆$</货币>
</国家信息>
<国家信息>
<国家名称>德国</国家名称>
<人口>900万</人口>
<首都>柏林</首都>
<货币>马克</货币>
</国家信息>
</世界国家介绍>
3. 世界国家介绍里可以添加任意多的条目.
4.利用数据岛访问XML里的数据。
要在你的HTML文档里应用XML文档,把XML数据岛加入到页面里
<xml src="xml_application.xml" id="xmlapp" async="false"> </xml>
以上代码的作用:把XML文件"Xml_application.xml"调入所谓的"xmlapp"的数据岛里.
async="false" 属性的作用:确保任何HTML处理[解析]之前调入XML数据。
5.绑定XML文件到HTML页面。
绑定XML数据到表格(HTML),在表格数据里,添加数据源属性,并把数据项添加到<span>属性里的数据域:
<table datasrc="#xmlapp" width="100%" border="1"> <thead> <th>国家信息</th> <th>人口</th> <th>首都</th> <th>货币</th> </thead> <tr align="left"> <td><span datafld="国家名称"></span></td> <td><span datafld="人口"></span></td> <td><span datafld="首都"></span></td> <td><span datafld="货币"></span></td> </tr></table>
6.绑定XML数据到没有表格的HTML:
要显示XML数据,table 并不是必须的,你可以事业SPAN DIV等,利用 Datasource 和DataField 属性绑定数据。
<br>国家信息: <span datasrc="#xmlapp" datafld="国家名称"></span> <br>Artist: <span datasrc="#xmlapp" datafld="人口"></span> <br>Year: <span datasrc="#xmlapp" datafld="首都"></span>