使用JS读取XML文件的方法


Posted in Javascript onNovember 25, 2016

由于项目上需要解析xml,于是各种百度,然后自己总结了下各个主流浏览器解析xml的方法,只能是很浅显的知道他的用法,但是还没有深层次的研究。

不同的浏览器对xml的解析方式不同,根据目前主流浏览器大致分三类:

第一类,ie祖宗: js 提供用于创建 Automation对象的方法,new ActiveXObject("Microsoft.XMLDOM") ;

第二类:firefox,opera:用构造函数 DOMParser()实例化DOMParser对象,解析xml文本,并返回xml Document对象;

第三类:chrome,safari:由于chrome不支持load方法,故用http协议,XMLHttpRequest对象。

代码:

function loadXML(){
var xmlDoc;
try{ //IE
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}catch(e){ //firefox,opera
xmlDoc = document.implementation.createDocument("","",null);
}
try{
xmlDoc.asyc = false; //是否异步调用
xmlDoc.load("xxx.xml"); //文件路径
}catch(e){ //chrome
var xmlhttp = new window.XMLHttpRequest();
xmlhttp.open("GET","xxx.xml",false); //创建一个新的http请求,并指定此请求的方法、URL以及验证信息
xmlDoc = xmlhttp.responseXML;
}
return xmlDoc;
}

返回的xmlDoc对象,其中属性documentElement包含了xml节点的各种值,可以console出来慢慢找。

ps:如果是读取本地xml,chrome默认是禁止访问本地文件,需要增加启动参数 --allow-file-access-from-files。

以上所述是小编给大家介绍的使用JS读取XML文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery学习笔记 获取jQuery对象
Sep 19 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
AngularJS手动表单验证
Feb 01 Javascript
jquery层级选择器的实现(匹配后代元素div)
Sep 05 Javascript
JS高级运动实例分析
Dec 20 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 Javascript
微信小程序自定义底部弹出框
Nov 16 Javascript
理顺8个版本vue的区别(小结)
Sep 17 Javascript
axios实现文件上传并获取进度
Mar 25 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
Feb 23 Javascript
vue - props 声明数组和对象操作
Jul 30 Javascript
JS比较两个数值的大小实例
Nov 25 #Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
Nov 25 #Javascript
js移动焦点到最后位置的简单方法
Nov 25 #Javascript
详解JS几种变量交换方式以及性能分析对比
Nov 25 #Javascript
深入浅析Vue组件开发
Nov 25 #Javascript
javascript中href和replace的比较(详解)
Nov 25 #Javascript
移动适配的几种方案(三种方案)
Nov 25 #Javascript
You might like
缓存技术详谈―php
2006/12/14 PHP
无JS,完全php面向过程数据分页实现代码
2012/08/27 PHP
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
jquery 输入框数字限制插件
2009/11/10 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
javascript实时显示当天日期的方法
2015/05/20 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
gulp教程_从入门到项目中快速上手使用方法
2017/09/14 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
JS中双击和单击事件冲突的解决方法
2018/04/09 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
python之wxPython应用实例
2014/09/28 Python
举例详解Python中的split()函数的使用方法
2015/04/07 Python
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python类继承用法实例分析
2015/05/27 Python
Python中字符串的格式化方法小结
2016/05/03 Python
Python tkinter事件高级用法实例
2018/01/31 Python
Python实现修改文件内容的方法分析
2018/03/25 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
个人简历的自荐信
2013/10/23 职场文书
迎新晚会主持词
2014/03/24 职场文书
优秀大学生自荐信
2015/03/26 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
2016年小学教师师德承诺书
2016/03/25 职场文书
如何制定销售人员薪酬制度?
2019/07/09 职场文书
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
MySQL外键约束(Foreign Key)案例详解
2022/06/28 MySQL