功能描述:使用jQuery解析已经定义好内容的xml文件
1.xml文件:menu.xml
<?xml version="1.0" encoding="gb2312"?>
<menus>
<menu>
<id>1</id>
<name>system</name>
<parentId>0</parentId>
<target>mainFrame</target>
<url></url>
</menu>
<menu>
<id>2</id>
<name>company</name>
<parentId>1</parentId>
<target>mainFrame</target>
<url></url>
</menu>
</menus>
2.自定义js文件解析xml文件:index.js
$(document).ready(function(){
$.ajax({
url:"xml/menu.xml ",
type:"POST",
dataType:"xml",
success:function(data){
$(data).find("menu").each(function(){
alert("success");
alert($(this).text());
});
},
error:function(data){
alert("fail:");
}
});
});
3.新建index.html文件引入jQuery.js、xml文件及index.js文件,在ie中(任何版本)运行index.html,结果总是弹出“fail”,但是在Firefox中的结果却是“success”。
在网上搜了很多资料,最后在这篇文章http://www.newmediafun.com/2009/07/parsing-xml-with-jquery-in-internet-explorer/上找到了解决方案。是因为ie中的限制无法正确解析xml文件,它解析出的是一个text对象(在我引用的文章中有更详细的解释)所以针对这个加入判断就可以解决了
正确代码index.js
$(document).ready(function(){
$.ajax({
url:"xml/menu.xml",
type:"POST",
dataType:($.browser.msie) ? "text" : "xml",
success:function(data){
var xml;
if( typeof data == "string" ){
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
$(xml).find("menu").each(function(){
alert("success");
alert($(this).text());
});
},
error:function(data){
alert("fail:");
}
});
});
分享到:
相关推荐
- **ActiveXObject(IE专属)**:在旧版的Internet Explorer中,可以使用ActiveXObject来创建XMLHttpRequest或MSXML2.DOMDocument对象解析XML。 3. **XML字符串解析** - JavaScript可以解析XML字符串,这在接收到...
本文将深入探讨如何使用jQuery在Internet Explorer(IE)和Firefox这两个主要浏览器中创建XML,以及相关的JavaScript(js)技术。 首先,我们需要理解XML(eXtensible Markup Language),它是一种用于存储和传输...
这是我在做项目时的测试源码,利用jQuery的Ajax功能读取XML文件中指定行的数据。在IE6+和FireFox 3.0+浏览器上测试都完美通过。下载源码包后直接解压到你的网站根目录即可进行测试。详细代码说明请浏览关于此源码包...
知识点五:读取本地XML文件和解析XML数据 文件中还包含了解析本地XML文件的示例。通过$.ajax()方法,设置url为本地XML文件的路径,并指定dataType为'xml'。在success回调函数中,通过jQuery的选择器和方法,例如....
2. **解析XML**:遍历XML文档,提取出所有级别的数据。可以使用`getElementsByTagName`等方法来获取特定类型的节点。 3. **创建初始选择框**:根据XML中的第一级数据(省份),创建并填充第一个下拉框。 4. **事件...
对于支持XMLHttpRequest(XHR)的现代浏览器(如IE7+、Firefox、Chrome、Safari等),可以使用`XMLHttpRequest`对象的`responseXML`属性来解析XML响应。例如: ```javascript var xhr = new XMLHttpRequest(); xhr....
例如,可以先使用IE的ActiveXObject尝试解析XML,如果失败再使用`jQuery.parseXML()`。 6. **更新或更换浏览器**:尽管这是一个技术解决方案,但提醒用户升级到较新的浏览器版本或者使用非IE浏览器,可以避免许多...
1. **JavaScript解析XML**:在JavaScript中,可以使用`DOMParser`对象或者`ActiveXObject`(仅限于IE浏览器)来解析XML文档。`DOMParser`是W3C标准,支持所有现代浏览器。例如: ```javascript var parser = new DOM...
使用jQuery创建XML数据,可以通过jQuery的parseXML方法来解析一个字符串形式的XML文档。示例代码如下: ```javascript var xmlDom = $($.parseXml("<?xml version=\"1.0\" encoding=\"utf-8\"?><root><person>...
5. **JSON支持**:IE7及以下版本没有内置的JSON解析和序列化,jQuery提供了相应的处理方式。 在压缩包文件`texiao3868_1560680865`中,可能包含了一系列针对IE低版本的jQuery测试脚本和示例,这些脚本可能涉及到...
2. `ActiveXObject`(仅限IE浏览器):在Internet Explorer中,我们可以使用`ActiveXObject`来解析XML,但这种方法已不再推荐,因为它不适用于现代浏览器。 解析XML后,我们可以通过遍历DOM树来构建一个树形结构。...
在这个例子中,我们将探讨如何使用JavaScript通过AJAX技术解析XML文档,同时兼容Firefox和Internet Explorer(IE)这两种不同的浏览器。 首先,我们需要创建一个函数`getResult`,它接收两个参数:一个是XML数据的...
在给定的文件中,主要讨论了如何使用JavaScript来解析XML文件,并提供了一个具体的例子。以下是对这些关键方法的详细解释: #### 1. 加载XML文件 JavaScript解析XML的第一步是加载XML文件。这通常通过创建一个XML...
为确保在Firefox和IE之间兼容,可以使用条件注释或库(如jQuery,它提供了跨浏览器的API)。例如,使用条件注释来针对IE使用`ActiveXObject`,否则使用`DOMParser`: ```javascript if (window.ActiveXObject) {...
"sample.xml"可能包含了柱状图的数据,XML是一种结构化数据存储格式,易于解析和操作,适合用来传递图表的数据。 "charts_library"很可能是一个包含额外图形库的文件夹,比如一个专门处理图表的JQuery插件,例如...
在本文中,我们将深入探讨如何使用jQuery插件将JSP中的指定区域导出到Word文档,并且这个解决方案特别针对IE8浏览器进行了优化。在开始之前,我们需要明白几个关键概念和技术。 1. **jQuery插件**:jQuery是一个...
在JS实现兼容各浏览器解析XML文档数据的方法中,首先介绍了一种使用JavaScript解析XML文档的方法。JavaScript是浏览器内置的脚本语言,它可以直接操作DOM,因此可以用来解析XML文档。具体做法是,首先使用...
### Jquery全解析与Ajax框架构建 #### 一、jQuery简介 jQuery 是一款跨平台的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画以及与Ajax交互等操作。自2006年发布以来,jQuery已经成为最流行的...
本文将详细探讨在IE和Firefox浏览器中解析XML文档和XML字符串的方法及其实现原理。 首先,我们需要创建XML文档对象。在IE浏览器中,我们使用ActiveXObject来创建XMLDOM对象: ```javascript if (window....
由于JavaScript操作XML涉及到浏览器的DOM实现,不同的浏览器可能存在差异,比如旧版IE浏览器与现代浏览器在创建XMLDOM对象和解析XML时就存在较大差异,开发者在实际操作时需要对代码进行兼容性处理,确保在不同环境...