XML 数据岛

微软从IE5开始将数据岛技术引入到浏览器中。通过使用数据岛,可以轻松的将Xml数据绑定到HTML中,这样就省去了手工填充数据的麻烦。另外,当改变Xml的数据时,绑定的数据也会随着Xml的改变而改变。

1、在HTML中引入Xml数据岛

Xml数据岛的使用方法有两种,一种是在HTML中直接嵌入XML,另一种是外部引入Xml数据。

直接嵌入Xml数据岛,是指将Xml文档内容直接放在<xml>标签中,使用方法如下:

<html>
    <head></head>
    <body>
        <xml>
            <?xml version="1.0" encoding="utf-8" ?>
            <book>
                <name>Xml应用系列</name>
                <auhtor>学路的小孩</auhtor>
                <date>2009-03-23</date>
            </book>
        </xml>
    </body>
</html>

外部引入Xml数据,则是通过指定<xml>标签的src属性来实现的,例如:

<xml id="xmlData" src="book.xml"></xml>

2、将数据绑定到HTML标签

将数据岛中的数据绑定到HTML中,需要指定HTML标签的两个属性:datasrc和datafld。其中,datasrc表示的是数据源,即绑定那个数据源;datafld表示的是绑定那个字段。当这两个属性都被正确指定后,HTML就会显示Xml中的数据了。下面用一个例子来说明:

还是原来的Xml文档,通过外部引入到HTML中,然后通过绑定到span标签中来显示Xml中的数据。代码如下:

<html>
<head>
    <title>数据岛测试</title>
    <script type="text/javascript">
        function btnOnclick()
        {
            var xmlDoc = document.getElementById("XmlData");
            
            xmlDoc.documentElement.selectSingleNode("name").text = "abc";
        }
    </script>
</head>
<body>
    <xml src="book.xml" id="XmlData"></xml>
    
    <div>
        <span>书名:</span>
        <span datasrc="#XmlData" datafld="name"></span>
        <br />
        
        <span>作者:</span>
        <span datasrc="#XmlData" datafld="author"></span>
        <br />
        
        <span>日期:</span>
        <span datasrc="#XmlData" datafld="date"></span>
    </div>
    
    <input type="button" value="改变XML值" onclick="btnOnclick()" />
    
</body>
</html>

这段HTML代码在IE中的效果如下图:

当单击按钮“改变XML值”后,通过执行JavaScript代码,改变了xml数据的值,这时HTML中的数据会自动更新,如图:

Xml数据岛不仅可以绑定在span标签,还可以绑定在table标签中,并且可以多行显示。另外,当绑定到span中时,如果Xml中有多条数据时,可以通过JavaScript来控制显示哪一条数据。具体的JavaScript代码为:moveFirst() 显示第一条记录、 movePrevious() 显示上一条记录、 moveNext() 显示下一条记录、 moveLast() 显示最后一条记录、 move(n) 显示第n条记录,n从0开始;还能够通过BOF和EOF判断是不是第一条记录和最后一条记录;这些方法和属性都是XmlData.recordset属性提供的。其中XmlData为数据岛的ID。

要显示Xml数据,其实方法不只有这一种,还可以通过为Xml文档添加CSS样式或者XSL文档来将Xml中的数据呈现到浏览器中。下一篇我将介绍如何通过CSS和XSL来实现数据的显示。请继续关注。

声明

作者:齐飞

Email:[email protected]
欢迎转载,但请保留本段信息!

时间: 2025-01-06 12:10:01

XML 数据岛的相关文章

XML数据岛

XML数据岛技术是微软IE5开始支持的数据源技术,其他浏览器不支持,所以它不能跨浏览器.它是在DSO(Data Source Object)技术基础上的一种扩展,有效的实现了HTML和XML的优势互补.可以很好的把对称的XML的数据展示在HTML上. 1. 主要有两种方式实现xml载入: 内嵌 在页面文件中的<head></head>或者<body></body>之间嵌入如下格式,其中id必须在页面上是唯一的标识,encoding是字符集 <xml i

XML数据岛,数据绑定参考

1.XML的局限性 目前,许多Web网站的内容数据都存放在数据库或数据文件中.对于Web程序开发人员来说,如果要想把有用的信息从数据库中提取出来,传统的方法是在服务器端编写脚本程序(如VBScript.JavaScript.CGI.ASP.JSP,Perl等等),通过对数据库执行SQL查询得到相关记录,然后把查询结果组织成HTML页面返回给客户端,用户使用浏览器观察最终结果. 为了提高系统服务的灵活性.可扩展性,使服务对象范围更广,许多商业网站都尽可能地把商务规则.原始数据和表现形式当做相互独立

关于html嵌入xml数据岛如何穿过树形结构关系的问题

作者: 字体:[增加 减小] 类型:转载 html里面引用xml的数据岛,如何穿过树形结构的关系,我不知道这个datafld里面应该如何使用xml里面的标签名称,如何加前缀,如何从resume得到name子元素 如下面的代码细节,html里面引用xml的数据岛,如何穿过树形结构的关系? 我不知道这个datafld里面应该如何使用xml里面的标签名称,如何加前缀,如何从resume得到name子元素?同时我的html文件应该如何修改呢? read.qidian.com/BookReader/144

HTML学习笔记之数据岛

最近在看web开发必备资料(牛腩整理),在看DHTML手册时看到了数据岛这个名词.我之前的学习中并没见到过数据岛这个名词,顿时不知道这是个什么,只好赶紧上网百度. 1 概念 数据岛是指存在于HTML页面中的XML代码.数据岛允许你在HTML页面中集成XML,对XML编 写脚本,而不需要通过脚本或<OBJECT>标签读取XML.几乎所有能够存在于一个结构完整 的XML文档中的东西都能存在于一个数据岛中.包括处理指示.DOCTYPE声明和内部子集 .(注意,编码串不能放在数据岛中.) 2 格式 &

数据岛运用示例,列车查询系统

本例是一个列车查询系统 有关列车信息存储在XML文件trains.xml 有关查询用脚本语言实现,程序嵌在train_find.html网页中 trains.xml <?xml version="1.0" encoding="gb2312"?> <trains> <train> <id>K222</id> <from>广州</from> <to>深圳</to>

XML 数据请求与JSON 数据请求

(1)XML 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 和 AFXMLParserResponseSerializer,另外结合第三方框架 XMLDictionary 进行数据转换 使用 XMLDictionary 的好处:有效避免自行实现 NSXMLParserDelegate 委托代理协议方法来进行繁琐的数据拼凑解析 (2)JSON 数据请求 使用 AFNetworking 中的 AFHTTPRequestOperation 或 AFHTT

Cocos数据篇[3.4](3) ——XML数据操作

[唠叨] XML 即 可扩展标记语言,在游戏开发中,常用于保存游戏数据信息,如最高分.游戏等级等信息,和描述一些资源等. 加载动画的plist文件.瓦片地图编辑器到处的地图格式tmx文件,实际上都是特定格式的xml文件. 另外 UserDefault 单例类保存的数据,也是存储在xml文件中的. Cocos2d-x 已经加入了 tinyxml2库 用于xml的解析.3.x版本位于external/tinyxml2下. 本节要介绍的就是:如何使用 tinyxml2库 来操作处理xml文件. [参考

php使用curl提交xml数据

$str_callback_url="xxxx.com/api.php";$str_callback_url="xml数据";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $str_callback_url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($ch,

DOM的概念和简单应用:使用DOM解析XML数据

概念:DOM是Document Object Model的简称,即文档数据模型. Oracle公司提供了JAXP(Java API for XML Processing)来解析XML.JAXP会把XML文档转换成一个DOM树,JAXP的三个包都在JDK中. org.w3c.dom;W3C推荐的解析文档的接口 org.xml.sax;使用SAX解析XML文档的接口 javax.xml.parsers;解析器工厂工具 一.使用DOM解析XML文档的步骤 1.创建解析器工厂对象,即DocumentBu