功能描述:使用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:");
}
});
});
//**********************判断浏览器 —— 简单判断方法*****************************
<script language="javascript">
if(window.XMLHttpRequest)//判断浏览器是否属于Mozilla,Sofari
{
alert("firefox");
}
else if(window.ActiveXObject)//判断浏览器是否属于IE
{
var browser=navigator.appName
var b_version=navigator.appVersion
var version=b_version.split(";");
var trim_Version=version[1].replace(/[ ]/g,"");
if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE7.0")
{
alert("IE 7.0");
}
else if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0")
{
alert("IE 6.0");
}
}
</script>
分享到:
相关推荐
关于jq读取xml的,有需要的朋友可以下载。
jQuery加载并解析XML
jQuery解析xml文件,实现省市县三级联动下拉框
jquery解析xml
Jquery操作xml_Demo。 帮一个朋友做的一个Demo实例,用jquery读取xml文件,很简单的操作,一看就明白。
JQuery 省市县三级联动 ,解析中国城市XML,实现联动。需在本地有服务
这是我在做项目时的测试源码,利用jQuery的Ajax功能读取XML文件中指定行的数据。在IE6+和FireFox 3.0+浏览器上测试都完美通过。下载源码包后直接解压到你的网站根目录即可进行测试。详细代码说明请浏览关于此源码包...
jquery读取xml jquery读取xml jquery读取xml jquery读取xml jquery读取xml jquery读取xml
jquery解析xml并实现省市二级联动
jquery.xmlns-1.7.0.js 是根据jquery.xmlns.js改写的适用于各种版本的jquery解析带命名空间的XML数据,里面附有实例代码,如果使用中有遇到问题,可以反馈,我会进一步改进。
教你怎么用Ztree树和Jquery Ajax结合解析XML文件成树结构。这可是完整的项目,已经调试好了,包你一下就上手。
jquery.json2xml.js&&jquery.xml2json.js在jQuery的基础上实现json与xml的相互转换
ie8以下浏览器不兼容jquery解决方案
JQuery跨域访问解决方案 JQuery
主要介绍了jQuery实现的解析本地 XML 文档操作,结合实例形式分析了jQuery针对本地 XML 文档的解析及ajax交互相关操作技巧,需要的朋友可以参考下
两种实现方式,利用XML实现树形菜单中的数据。可以用在需要让CLIENT修改XML文件的情况。 直接在页面写代码实现实现树形菜单 前者是建立在后者的基础之上的
用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里...
jQuery 文档XML文件内英文及代码部分版权归原官方wiki所有,中文部分分属为之漫笔, Shawphy and Cloudream所有。欢迎转载、替换其他XSL样式或其他形式的转载,但必须保证XML文件原样转载,保留署名以及不可用于商业...
主要介绍了使用jquery解析XML的方法,代码简洁实用,需要的朋友可以参考下