xml数据岛(DSO)

1 篇文章 0 订阅

 

目录

 

一、DSO定义:

二、DSO功能:

三、DSO使用方法:

四、recordset对象:

五、样例:

        说明:可以自定义显示同学录每页的记录数,进行翻页查看操作。

        所用工具:XMLSpy2013 

        文档结构

六、效果:

七、总结:


一、DSO定义:

与HTML文档绑定的XML数据源对象简称为DSO,通常也被称为嵌入HTML文档中的XML数据岛。

二、DSO功能:

使用DSO,借助HTML网页来显示XML文档内容,既能保持XML文档数据与其显示格式分离的特点,又具备HTML网页的丰富显示格式。

三、DSO使用方法:

利用DSO技术显示XML文档的机制是,把链接到HTML网页中的一个XM文档或一段XML数据当作一个类似于数据库的记录集( Recordset)对象,然后使用与数据库类似的操作方法来显示和浏览被链接的XMIL文档的内容。


采用DSO技术,首先需要进行数据绑定,即将XML文档数据绑定到HTML文档,然后再将特定的XML元素链接到SPAN或TABLE等标准的HTML元素,这些HTML元素就会自动显示它们所绑定的XML元素内容。

四、recordset对象:


将XML文档与HTML文档绑定之后,在内存中生成的记录集合是一个属于DSO的recordset对象,该对象提供了一组符合Microsoft的ADO标准数据访问技术的方法和属性,因而可以通过script编程调用这些方法和属性来对记录集进行访问和处理。


可以根据需要调用recordset对象的任何一个方法来撰写有关的script程序。调用这些方法最简单的方式就是在HTML文档中通过将某个方法直接指定到BUTTON元素的ONCLICK属性中。
 

五、样例:

说明:可以自定义显示同学录每页的记录数,进行翻页查看操作。

所用工具:XMLSpy2013

文档结构

--classmate.html

--class.xml

--img

       --13.jpg

       --23.jpg

       --24.jpg

 

class.xml

<?xml version="1.0" encoding="UTF-8"?>

<classmateRecords>

	<classmate>
		<name> Charles</name>
		<photo>img\13.jpg</photo>
        <phone>123456</phone>
	<wechat>XXXXX</wechat>
	<mail>00000000@126.com</mail>
        <address>北京市大兴区</address>
	</classmate>
    
       <classmate>
		<name> Mark</name>
		<photo>img\23.jpg</photo>
        <phone>345678</phone>
	<wechat>YYYYY</wechat>
	<mail>11111111@126.com</mail>
        <address>北京市海淀区</address>
	</classmate>
	
    <classmate>
		<name> Bill</name>
		<photo>img\24.jpg</photo>
        <phone>456789</phone>
	<wechat>ZZZZZ</wechat>
	<mail>22222222@126.com</mail>
        <address>北京市朝阳区</address>
	</classmate>
	
   <!--更多同学-->  
</classmateRecords>

classmate.html

<!--File Name:classmate.html -->
<HTML>
<HEAD>
	<TITLE>同学录</TITLE>
	<xml id="dso" src="class.xml"> </xml>   <!--将XML文档与HTML绑定-->
	<script lang="javascript">
		function ViewClassmates(){
			Classmates.dataPageSize=items.value;
			Classmates.firstPage();
		}
	</script>
</HEAD>
<BODY>
<center>
	每页显示的记录数:<input type="text" maxlength="1"  size="2" id="items"/> 
		<input type="button"  value="查看" onclick="ViewClassmates()"/>
	<table id="Classmates" datasrc="#dso" border="1"  cellpadding="5" >
                            <!-- 在这里通过id绑定XML-->
			<thead>
				<tr>
					<th>姓名</th>
					<th>照片</th>
					<th>电话</th>
					<th>微信</th>
					<th>邮箱</th>
					<th>住址</th>
				</tr>
			</thead>
			<tbody>
				<tr  ALIGN="center">
					<td> <span  datafld="name" ></span> </td>
					<td><span><IMG DATAFLD="photo"></span> </td>
					<td> <span  datafld="phone" ></span> </td>
					<td> <span  datafld="wechat" ></span> </td>
					<td> <span  datafld="mail" ></span> </td>
					<td> <span  datafld="address" ></span> </td>
				</tr>
			</tbody>
		</table>
		<input type="button" name="" value="第一页" onclick="Classmates.firstPage()" />
		<input type="button" name="" value="上一页" onclick="Classmates.previousPage()" />
		<input type="button" name="" value="下一页" onclick="Classmates.nextPage()" />
		<input type="button" name=""value="最后一页"onclick="Classmates.lastPage()" />
			
	</center>
</BODY>
</HTML>

六、效果:

 

 

每页显示1条记录

 

每页显示2条记录

 七、总结:

使用DSO可以更灵活的显示XML中的数据,只需要先把XML与HTML绑定,然后将XML中的元素绑定到HTML中的标签中

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少年与云眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值