Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)


Posted in Javascript onJuly 11, 2010
//导入js文件 
function getResult(url, ready) { 
var xmlHttp; 
var r = function() { 
if (xmlHttp.readyState == 4) { 
if (xmlHttp.status == 200) { 
//alert(isIE); 
var xmlstr; 
var xmldoc; 
var isIE = !!(window.attachEvent && !window.opera); 
if (isIE) 
xmldoc = xmlHttp.responseXML; 
else { 
xmlstr = xmlHttp.responseText; 
alert(xmlstr); 
var parser = new DOMParser(); 
xmldoc = parser.parseFromString(xmlstr, "text/xml"); 
} 
try { 
ready(xmldoc); 
} catch (e) { 
alert(e.message); 
} 
} 
} 
} 
var create = function(url, r) { 
try { 
// Firefox, Opera 8.0+, Safari 
xmlHttp = new XMLHttpRequest(); 
} catch (e) { 
// Internet Explorer 
try { 
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); 
} catch (e) { 
try { 
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} catch (e) { 
alert("您的浏览器不支持AJAX!"); 
return false; 
} 
} 
} 
xmlHttp.onreadystatechange = r; 
xmlHttp.open("GET", url, true); 
xmlHttp.send(null); 
} 
create(url, r); 
} //应用 
function ready(xmlDoc) 
{ 
x=xmlDoc.getElementsByTagName("a")[1]; 
y=x.childNodes[0]; 
txt=y.nodeValue; 
alert(txt); 
} 
getResult("../xml.jsp",ready);

xml:
<r> 
<a>ff</a> 
<a>ggd</a> 
</r>

childNodes 属性返回子节点的列表。<a> 元素只有一个子节点,即一个文本节点。
下面的代码检索 <a> 元素的文本节点:
x=xmlDoc.getElementsByTagName("a")[0];
y=x.childNodes[0];
nodeValue 属性返回文本节点的文本值:
x=xmlDoc.getElementsByTagName("title")[0];
y=x.childNodes[0];
txt=y.nodeValue;
结果:txt = "ggd"
Javascript 相关文章推荐
jQuery中delegate和on的用法与区别详细解析
Jan 26 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
Jul 06 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
Mar 21 Javascript
js代码实现随机颜色的小方块
Jul 30 Javascript
jQuery实现分隔条左右拖动功能
Nov 21 Javascript
详解javascript new的运行机制
Jan 26 Javascript
一分钟理解js闭包
May 04 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
Oct 31 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
Mar 07 Javascript
vue中datepicker的使用教程实例代码详解
Jul 08 Javascript
vscode中eslint插件的配置(prettier配置无效)
Sep 10 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
Nov 21 Javascript
不同浏览器的怪癖小结
Jul 11 #Javascript
return false;和e.preventDefault();的区别
Jul 11 #Javascript
基于jQuery的树控件实现代码(asp.net+json)
Jul 11 #Javascript
js 模拟气泡屏保效果代码
Jul 10 #Javascript
浅谈javascript的数据类型检测
Jul 10 #Javascript
jquery nth-child()选择器的简单应用
Jul 10 #Javascript
SWFObject 2.1以上版本语法介绍
Jul 10 #Javascript
You might like
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
setTimeout函数兼容各主流浏览器运行执行效果实例
2013/06/13 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
jQuery原型属性和原型方法详解
2015/07/07 Javascript
AngularJS控制器controller正确的通信的方法
2016/01/25 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
vue与vue-i18n结合实现后台数据的多语言切换方法
2018/03/08 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
Node.js assert断言原理与用法分析
2019/01/04 Javascript
python的类方法和静态方法
2014/12/13 Python
在Django的模型中添加自定义方法的示例
2015/07/21 Python
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
pandas获取groupby分组里最大值所在的行方法
2018/04/20 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
Pyinstaller打包Scrapy项目的实现步骤
2020/09/22 Python
CSS3制作3D立方体loading特效
2020/11/09 HTML / CSS
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
软件测试工程师结构化面试题库
2016/11/23 面试题
学习十八大精神心得体会
2013/12/31 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书