欢迎来到天天文库
浏览记录
ID:52359418
大小:194.14 KB
页数:3页
时间:2020-03-26
《支持多浏览器读取XML内容的方法实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、支持多浏览器读取XML内容的方法陈春艳(广州市市政职业学校经济与管理部,广东广州510500)[摘要]xML(可扩展标记语言)因为其轻便简洁、结构严谨、跨平台支持等多种特性序的数据存储、数据交换当中。但不同的测览器对xMI文档的处理方法并不完全一致。介绍读取xML文件的方法,并简单分析了两种浏览器的区另q,提出了在w3c标准下重新构造一差异而引致的重复代码的劳动。[关键词】XML;浏览器;w3c;读取;DoM1.引言XML(可扩展标记语言)因为其轻便简洁、结构严谨、跨平台支持等多种特性,现已经广泛地应用于各种戍用程序的数据存储、数据交换当中。B/S结构的应用程序都普遍
2、使用Ⅺ订L语言传输数据。特别在对webSeⅣice进行调用时,其返回结果必然为Ⅺ“L格式的内容。可是XML的设计目的是用来传送及携带数据信息,不是用来表现或展示数据,因此单纯的XML并没有规定如何显示数据。虽然可以在定义)0订L文件的时候,使用CSS、XSLT等方式规定XML内容的布局与呈现:但在B/s结构的Web应用中,特别是wcbSeⅣice的调用返回时,由于考虑到网络传送的问题,往往都只是纯粹的Ⅺ札文本;这就只能依靠客户端脚本呈现文本内容。在AJAx应用模型中,通常利用)①几HttpReq∞st对象发送服务器请求,若服务器端返回的数据是xML格式,则通过)avl
3、LHttpRequest对象的ResponseXML属性获得返回数据。在主流的浏览器中,所获得的Rcsponse)①儿内容存在一定的差异,而且不同浏览器所定义的xMLDoM也各有千秋。这样使得客户端编程的程序员难以只用一种方法直接将xML的数据晕现在不同的浏览器中,这大大增加了Web应用开发的难度和开发时间。2.1E与Fn6强对RcsponseⅪ咀.处理的差异微软的IE在个人电脑用户浏览器的使用份额中占有比较大的优势,达到60.65%,其次是使用Mozilla内核的F碗Fox浏览器,达到24.52%(注:来自NetApplications公司20lO年3月的调查数据)
4、。两大主流浏览器之间,对于服务器端返回ResponsexML对象从内容到操作对象都有很显著的区别。正浏览器所得到的Resp伽sexML对象与实际的xML内容比较一致,而且可以通过名为xml的属性得到包括XML声明在内的全部内容。可通过代码如al锄(Ⅺ取.ResponSe)Q订L.xml)访问全部的)口ⅥL内容。假设现有RcsponseXML对象得到的内容部分节点如下所示:Web编程<,title×/class>JavaS硎pt实例分析瞅itlex沁lass>叫cIas∞s>在访问Ⅺ儿的数据内容时,通常
5、有两种方法。第一种方法是遍历法。因为ⅪⅥL文档的内容结构是一棵有着众多节点的树,因此可以通过逐层遍历的方式,从父元素节点一直访问到最终的叶子元素节点,通过叶子元素节点的删属性得到其文本节点的内容。可通过以下代码得到第一个cl雒s的titIe元素的文本内容。varrootNode=xmIDoc啪ent.docum曲tElenlent:v盯cl勰sNode=r00tNode.firstChild://得到第一个cl勰s元素节点vartitleNode=cl雏sNode.fi体tChild://得到cl嬲s下的title元素节点v盯titleText=titleNode.t
6、ext:∥得到title的文本内容alen(titleText)://输出Web编程如果利用节点访问的方式,可以通过nextSibling属性返回当前节点的下一个兄弟节点。由于IE浏览在构造xML内容节点的时候,某父节点下的所有子节点是利用一个数组存储的。因此可以利用节点的索引得到需要的子节点内容。可通过以下代码可跳过第一个cl酗s节点得到第二个cl勰s的内容。var“)0tNode=xmU)0cument.doc啪entElenlem:v盯classNode=rootNode.cllildNodcs[1】;//得到第二个cl娜元素节点vartitle№de=cIas
7、sNode.childNodes【0】;∥得到cl鹪s下的titIe元素节点vartitIeText=titleNode.text;∥得到title的文本内容alen(titleText)://输出Javasc邱t实例分析第二种方法是按照元素名称直接访问法。通过getEle.melltByld的方法,可以得到全部元素名相同的节点。该方法所返回的是一个节点数组,通过循环遍历数组中的元素则可作者简介:陈春艳。女,海南文昌人,硕士,讲师、软件设计师。研究方向:操作系统、计算机网络、电子商务等。~7l一以得到全部信息内容。可通过以下代码得到两个title元素
此文档下载收益归作者所有