`
liss
  • 浏览: 825302 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在firefox浏览器下用javascript解析XML

    博客分类:
  • Ajax
阅读更多

刚接触ajax不久,想通过ajax实现从服务器上动态取得xml数据,然后,在客户端动态更新并显示。
但是,再firefox中,在取得xmlDom后,用在IE下面解析的办法(网上有很多的资料,也可以我的总结),怎么也不能取得标签文本的值。

经过多次实践,才发现了下面的方法是可以实现的。原来很简单(见笑了…………)

服务器返回XML结果如下:
<?xml version="1.0" encoding="UTF-8" ?>
- <citys>
<city>shanghai</city>
<city>tianjin</city>
<city>chengdu</city>
<city>chongqing</city>
<city>hainan</city>
</citys>

==========================================================================
解析如下:

// 取得的是xmlDom对象
var doc = response.responseXML;
         // 根据标签来取得List对象
        var cs = doc.getElementsByTagName("city");     
        alert(cs.length);
       
        for(var i=0;i<cs.length;i++){
          var a = cs[i];
          //alert(a);
          //alert(a.nodeName);
          //alert(a.nodeValue);
          var b = a.childNodes;
          (我的疑问:为什么需要取得b,cs[i]不就是一个city的对象了,为什么还需要取得数组,然后再取其元素,疑惑中)
          //alert(b);
          var c=b[0];
          alert(c.nodeValue);
        }

cs取得的结果应该是:
<city>shanghai</city>
<city>tianjin</city>
<city>chengdu</city>
<city>chongqing</city>
<city>hainan</city>
city Element对象的一个集合。
所以,对于a来说,那么就应该是
<city>shanghai</city>
每一个city Element元素的对象了,但是,错了。此处得到的是一个
Element标签元素的一个数组。
也就是说用childNodes方法取得的对象永远是数组对象。那么,你想遍历其中元素的话,就需要用c对象来取。

本例子源代码下载

来源于:http://www.blogjava.net/zhyiwww/archive/2008/06/02/205376.html

分享到:
评论

相关推荐

    兼容火狐、谷歌、IE等浏览器JS解析XML

    本人,以前也遇到各浏览器XML的兼容问题,然后改用Json解决了兼容问题,今天突然间有一个想法又重拾XML,终于完美解决

    JS实现的跨浏览器解析XML文件实例

    本文实例讲述了JS实现的跨浏览器解析XML文件的方法。分享给大家供大家参考,具体如下: 下列代码把一个 XML 文档 (“note.xml”) 载入 XML 解析器中: [removed] function GetXmlHttpObject() { var xmlHttp=null;...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    作者站在普通网页设计人员的角度,用平实生动的语言,向您讲述XML的方方面面,帮助你拨开XML的神秘面纱,快速步入XML的新领域。 • 第一章:XML快速入门 • 一. 什么是XML? • 二. XML是新概念吗? • 三. 使用...

    xml:XML 解析和构建

    锚点/XML xml 模块实现了对 XML 解析和构建的支持。...$ make test-firefox $ make test-safari 无头测试可以直接从终端执行: $ make test-phantomjs 学分 执照 版权所有 (c) 2012-2013 Jared Hanson &lt; &gt;

    mimic.js:JavaScript XML-RPC 客户端支持同步和异步请求

    它与主要浏览器(IE、Firefox、Opera、Safari 和 Chrome)兼容。 如何使用 使用 Mimic 非常简单,你只需要产生一个请求,然后处理响应。 为此,您只需使用两个小对象XmlRpcRequest和XmlRpcResponse 。 同步请求...

    Ajax完全自学手册PPT和源代码(ptt格式)

    Test Firefox XMl DOm.htm Firefox中的XML DOM支持 Firefox LoadXML.htm Firefox中的XML DOM支持 XPath Example1.xml XPath Writer.xml 开发中实际使用的XML文档 Test4IE XPath.htm IE中的XPath支持 Test Firefox ...

    Ajax完全自学手册(PPT)

    Test Firefox XMl DOm.htm Firefox中的XML DOM支持 Firefox LoadXML.htm Firefox中的XML DOM支持 XPath Example1.xml XPath Writer.xml 开发中实际使用的XML文档 Test4IE XPath.htm IE中的XPath支持 Test ...

    精通CSS+DIV 网页样式与布局【PDF】

    细致介绍CSS的语法规则,透彻讲解CSS应用于各种网页元素的步骤和技巧深入剖析,CSS+DIV布局的思路和方法比较,IE和Firefox浏览器对CSS支持的不同效果,扩展CSS与JavaScript,Ajax,XML的综合应用,全面解析5个完整网站的CSS...

    Ajax完全自学手册(源代码).rar

    Test Firefox XMl DOm.htm Firefox中的XML DOM支持 Firefox LoadXML.htm Firefox中的XML DOM支持 XPath Example1.xml XPath Writer.xml 开发中实际使用的XML文档 Test4IE XPath.htm IE中的XPath支持 Test ...

    AJAX应用的通用流程

    这行简单得多的代码在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中,创建了 XMLHttpRequest 对象。 综合起来跨浏览器的通用方法 关键是要支持所有浏览器...

    Ajax基础教程(扫描版)

    附录a 开发跨浏览器javascript 241 a.1 向表中追加行 241 a.2 通过javascript设置元素的样式 242 a.3 设置元素的class属性 243 a.4 创建输入元素 243 a.5 向输入元素增加事件处理程序 244 a.6 创建单选钮 245 ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性...

    精通css+div网页样式与布局

    《精通CSS+DIV网页样式与布局》从零开始,细致介绍CSS的语法规则,透彻讲解CSS应用于各种网页元素的步骤和技巧深入剖析,CSS+DIV布局的思路和方法比较,IE和Firefox浏览器对CSS支持的不同效果,扩展CSS与JavaScript,...

    WEB安全测试

    2.1 安装Firefox 29 2.2 安装Firefox扩展 30 2.3 安装Firebug 31 2.4 安装OWASP的WebScarab 32 2.5 在Windows上安装Perl及其软件包 33 2.6 在Linux, Unix或OS X上安装Perl和使用CPAN 34 2.7 安装CAL9000 35 2.8 ...

    Faster-Than-Startpage:堆的另一个起点

    为了使文件正确解析XML而不在服务器上托管网页,必须在浏览器中启用加载本地文件。 *在Firefox中,这是通过在about:config中将privacy.file_unique_origin设置从true更改为false来实现的。 *在Chrome中,您需要...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    而将那些被认为“过时”或有功能缺失的浏览器下的测试工作安排在开发周期的最后阶段 渐进增强 一开始只构建站点的最少特性,然后不断针对各浏览器追加功能。先让网站能够正常工作于尽可能旧的浏览器上,然后不断为它...

    [完整][中文][WEB安全测试].(美)霍普.扫描版.pdf

    2.2 安装Firefox扩展 30 2.3 安装Firebug 31 2.4 安装OWASP的WebScarab 32 2.5 在Windows上安装Perl及其软件包 33 2.6 在Linux, Unix或OS X上安装Perl和使用CPAN 34 2.7 安装CAL9000 35 2.8 安装ViewState Decoder ...

    ExtAspNet_v2.3.2_dll

    -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性...

    程序员面试刷题的书哪个好-Front-end-Interview:前端面试

    Firefox:gecko内核 Safari:webkit内核 Opera:以前是presto内核,Opera现已改用Google Chrome的Blink内核 Chrome:Blink(基于webkit,Google与Opera Software共同开发) 介绍一下你对浏览器内核的理解? 主要分成两...

Global site tag (gtag.js) - Google Analytics