使用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 相关文章推荐
javascript css在IE和Firefox中区别分析
Feb 18 Javascript
取得窗口大小 兼容所有浏览器的js代码
Aug 09 Javascript
js实现广告漂浮效果的小例子
Jul 02 Javascript
基于编写jQuery的无缝滚动插件
Aug 02 Javascript
javascript回调函数的概念理解与用法分析
May 27 Javascript
微信小程序自定义可滑动日历界面
Dec 28 Javascript
在element-ui的select下拉框加上滚动加载
Apr 18 Javascript
Node.js 多进程处理CPU密集任务的实现
May 26 Javascript
js通过canvas生成图片缩略图
Oct 02 Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
Oct 28 Javascript
JS使用setInterval计时器实现挑战10秒
Nov 08 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
一个简洁的多级别论坛
2006/10/09 PHP
PHP 源代码压缩小工具
2009/12/22 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
PHP实现的简单缓存类
2015/07/29 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
JavaScript内核之基本概念
2011/10/21 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
JSON格式化输出
2014/11/10 Javascript
js插件设置innerHTML时在IE8下提示“未知运行时错误”解决方法
2015/04/25 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
JS实现验证码倒计时的注册页面
2018/01/02 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
2019/12/17 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
pyenv命令管理多个Python版本
2017/03/26 Python
python发送邮件实例分享
2017/07/28 Python
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
详解python while 函数及while和for的区别
2018/09/07 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
市三好学生主要事迹
2014/01/28 职场文书
学校大课间活动方案
2014/01/30 职场文书