刚接触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
分享到:
相关推荐
本文将详细讲解如何在Firefox下利用XML DOM解析XML文档。 首先,理解XML DOM的概念是至关重要的。XML DOM是一种W3C标准,它定义了一个统一的、平台和语言无关的接口,允许程序和脚本动态地访问和更新XML文档的结构...
在使用 JavaScript 解析 XML 文件时,需要考虑浏览器兼容性问题。不同的浏览器有不同的实现方式,需要根据浏览器类型选择合适的解析方法。 使用 JavaScript 解析 XML 文件需要了解 XML 文档的结构和各个节点的类型...
Firefox使用了XUL(XML User Interface Language)来构建其用户界面,这是一种基于XML的语言,可以跨平台使用。 ##### 3.2 浏览引擎(Browser Engine) 浏览器引擎负责解析用户输入的URL并调用渲染引擎来显示网页。...
1. **DOMParser API**:这是W3C标准的一部分,适用于所有现代浏览器,包括Chrome、Firefox、Safari和Edge等。我们可以创建一个DOMParser实例,然后使用`parseFromString()`方法解析XML字符串。 ```javascript let ...
在一些旧的浏览器环境中,如Firefox,支持E4X,这是一种将XML集成到JavaScript语法中的尝试。它允许直接在JavaScript代码中嵌入XML,但现代浏览器已经不再支持此特性。 7. jQuery和XML: jQuery库简化了...
对于支持XMLHttpRequest(XHR)的现代浏览器(如IE7+、Firefox、Chrome、Safari等),可以使用`XMLHttpRequest`对象的`responseXML`属性来解析XML响应。例如: ```javascript var xhr = new XMLHttpRequest(); xhr....
在C#环境下,虽然Firefox的主要开发语言是C++,但你可以利用C#的.NET Framework来创建Firefox的扩展或者与Firefox进行交互。例如,使用XUL(eXtensible User Interface Language)和XPCOM(Cross-Platform Component...
总的来说,JavaScript解析XML字符串的关键在于处理不同浏览器的兼容性问题,使用`try...catch`结合`ActiveXObject`和`DOMParser`可以有效地实现这一目标。同时,理解XML文档的结构和DOM(文档对象模型)的概念对于...
在JavaScript中解析XML文件是一项常见的任务,特别是在处理服务器返回的数据或者构建富客户端应用时。XML(eXtensible Markup Language)是一种结构化数据格式,它允许我们存储和传输信息,而JavaScript作为浏览器中...
6. **浏览器兼容性**:示例代码使用了ActiveXObject,这是Internet Explorer特有的,对于其他浏览器如Firefox、Chrome、Safari等,需要使用`XMLHttpRequest`的非IE实现。在现代JavaScript开发中,通常会使用`fetch` ...
AJAX 被大多数现代浏览器支持,包括Internet Explorer 5.0+、Safari、Mozilla/Firefox、Opera和Netscape 7以上版本。随着Web技术的发展,AJAX的兼容性已经非常广泛,如今还包括移动设备上的各种浏览器。 **创建第一...
Firefox还提供了一些隐私模式,如“私人浏览”,在这种模式下,浏览器不会保存用户的浏览历史、搜索记录或临时互联网文件。此外,Firefox还支持自定义隐私设置,用户可以灵活控制Cookie、缓存等数据的管理。 Fire...
对于非 IE 浏览器,可以使用 `DOMParser` 对象来进行 XML 的解析和验证: ```javascript // 适用于 Mozilla、Firefox、Opera 等的代码 else if (document.implementation.createDocument) { var parser = new DOM...
3. **XULRunner**:在提供的文件"xulrunner-1.8.1.3.en-US.win32.zip"中,XULRunner是Firefox的核心组件,它提供了一个运行环境来执行使用XUL(XML User Interface Language)构建的应用程序。XUL是一种XML标记语言...
在JS实现兼容各浏览器解析XML文档数据的方法中,首先介绍了一种使用JavaScript解析XML文档的方法。JavaScript是浏览器内置的脚本语言,它可以直接操作DOM,因此可以用来解析XML文档。具体做法是,首先使用...
火狐内核,也称为Gecko,是Mozilla Firefox浏览器背后的渲染引擎。它负责解析HTML、CSS、JavaScript等Web标准,并将其转化为用户可见的页面。使用火狐内核的一个主要优点是它对现代Web标准的支持度高,能提供良好的...
但需要注意,E4X不是所有浏览器都支持,主要在Firefox中使用。 3. Ajax中的数据交换: - 使用XML:在早期的Ajax应用中,XML常作为数据交换格式,可以通过XMLHttpRequest的responseXML属性获取XML数据,然后使用DOM...
Gecko通过快速、稳定地执行这些标准,为Firefox浏览器提供了强大的浏览体验。HTML5开发利用Gecko的优势,可以创建高性能、兼容性强的应用程序,特别是在多媒体和游戏领域。 **XULRunner框架:** XULRunner是Mozilla...
在这个例子中,我们将探讨如何使用JavaScript通过AJAX技术解析XML文档,同时兼容Firefox和Internet Explorer(IE)这两种不同的浏览器。 首先,我们需要创建一个函数`getResult`,它接收两个参数:一个是XML数据的...
大多数现代浏览器如IE、Firefox、Chrome、Safari和Opera都内置了XML解析器,通常是通过插件或本地实现的方式。这些解析器遵循DOM(Document Object Model)标准,将XML文档转换为一个树形结构,允许开发者通过...