XML 数据岛
XML 数据岛 我们通常将XML与HTML结合来显示XML中的数据,既可以在HTML脚本中使用DOMDocument对象载入一个XML进行处理;也可以用数据岛直接加载XML文件;
这里先讲一下XML数据岛的使用:
一 首先在HTML中嵌入XML数据:
有两种方法嵌入XML数据:
(1)直接在<xml></xml>中写入xml内容:
<xml id="xmlData">
<student>
<name>colin.zhang</name>
<sex>male</sex>
<age>24</age>
</student>
</xml>
(2)或者导入xml文档
<xml id="xmlData" src="student.xml">
</xml>
二 将以上创建的数据岛绑定到HTML标签上:
<标签名 datasrc="#数据岛id名">
例如:
<table border=1 datasrc="#xmlData">
<tr>
<td><span datafld="name"/></td>
<td><span datafld="sex"/></td>
<td><span datafld="age"/></td>
</tr>
</table>
以上代码将xmlData与table绑定,<table></table>中的所有元素组成xmlData的一条数据,如果xmlData
中有多条数据,则依次列出;
例如:
<table border=1>
<tr>
<td>学生姓名:<span datasrc="#xmlData" DataFLD="name"/></td><BR>
<td>学生性别:<span datasrc="#xmlData" DataFLD="sex"/></td><BR>
<td>学生年龄:<span datasrc="#xmlData" DataFLD="age"/></td><BR>
</tr>
</table>
以上代码在绑定数据岛的同时也为该标签指定填充内容,这种方式只显示数据岛中的第一条数据,如果数据有多条,只显示第一条,但我们可以通过下面的方法来查看其它数据:
数据岛名.recordset.moveFirst() //查看第一条数据
数据岛名.recordset.movePrevious() //查看上一条数据
数据岛名.recordset.moveNext() //查看下一条数据
数据岛名.recordset.moveLast() //查看最后一条数据
数据岛名.recordset.addNew() //添加新数据
以下我修改的一个例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<body>
<XML ID="theXMLisland">
<HotelList>
<Hotel>
<Name>四海大酒店</Name>
<Address>海魂路1号</Address>
<HomePage>www.sihaohotel.com.cn</HomePage>
<E-Mail>master@sihaohotel.com.cn</E-Mail>
<TelePhone>(0989)8888888</TelePhone>
<Grade>五星级</Grade>
</Hotel>
<Hotel>
<Name>五湖宾馆</Name>
<Address>东平路99号</Address>
<HomePage>www.wuhu.com.cn</HomePage>
<E-Mail>web@wuhu.com.cn</E-Mail>
<TelePhone>(0979)1111666</TelePhone>
<Grade>四星级</Grade>
</Hotel>
<Hotel>
<Name>“大沙漠”宾馆</Name>
<Address>留香路168号</Address>
<HomePage>www.dashamohotel.com.cn</HomePage>
<E-Mail>master@dashamohotel.com.cn</E-Mail>
<TelePhone>(0989)87878788</TelePhone>
<Grade>五星级</Grade>
</Hotel>
<Hotel>
<Name>“画眉鸟”大酒店</Name>
<Address>血海飘香路2号</Address>
<HomePage>www.throstlehotel.com.cn</HomePage>
<E-Mail>chuliuxiang@throstlehotel.com.cn</E-Mail>
<TelePhone>(099)9886666</TelePhone>
<Grade>五星级</Grade>
</Hotel>
</HotelList>
</XML>
<table border=1>
<tr>
<td>酒店名称:<span datasrc="#theXMLisland" DataFLD="Name"/></td><BR>
<td>地址:<span datasrc="#theXMLisland" DataFLD="Address"/></td><BR>
<td>主页:<span datasrc="#theXMLisland" DataFLD="HomePage"/></td><BR>
<td>电子邮件:<span datasrc="#theXMLisland" DataFLD="E-Mail"/></td><BR>
<td>电话:<span datasrc="#theXMLisland" DataFLD="TelePhone"/></td><BR>
<td>级别:<span datasrc="#theXMLisland" DataFLD="Grade"/>
</tr>
</table>
<input id="first" TYPE=button value="<< 第一条记录" onclick="theXMLisland.recordset.moveFirst()">
<input id="prev" TYPE=button value="<上一条记录" onclick="theXMLisland.recordset.movePrevious()">
<input id="next" TYPE=button value="下一条记录>" onclick="theXMLisland.recordset.moveNext()">
<input id="last" TYPE=button value="最后一条记录>>" onclick="theXMLisland.recordset.moveLast()">
<input id="Add" TYPE=button value="添加新记录" onclick="theXMLisland.recordset.addNew()">
</body>
</html>

浙公网安备 33010602011771号