在IE和火狐下,可以直接创建xmlDom对象来载入xml文件,但是在chrome和opera等webkit内核的浏览器下,则只能通过xmlhttp方式进行获取。

在IE和火狐下,直接创建的xmlDom对象可以跨域访问xml文件。但xmlhttp为了安全性禁止跨域访问,当跨域访问时即会报错如下:

Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101

以下是一段兼容主流浏览器的xmlDom对象获取方法,仅供参考讨论,具体示例可参见本站首页的英语句子插件的效果(原版pjblog英语句子插件不支持webkit内核浏览器)。

//检测系统支持的XMLDom方式

function E_getControlPrefix() {

var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];

var o, o2;

for (var i = 0; i < prefixes.length; i++) {

try {

// try to create the objects

o = new ActiveXObject(prefixes+ ".XmlHttp");

o2 = new ActiveXObject(prefixes+ ".XmlDom");

return E_getControlPrefix.prefix = prefixes;

}

catch (ex) {};

}

}

//创建xmldom对象

function loadXmlFile(xmlFile) {

var xmlDom = null;

if (window.ActiveXObject) {//支持IE浏览器,可跨域

xmlDom = new ActiveXObject(E_getControlPrefix() + ".XMLDOM");

//xmlDom.loadXML(xmlFile);//如果用的是XML字符串

xmlDom.load(xmlFile); //如果用的是xml文件。

} else if (document.implementation && document.implementation.createDocument) {//支持火狐浏览器,可跨域

xmlDom=document.implementation.createDocument("","",null);

xmlDom.load(xmlFile);

} else if (window.XMLHttpRequest){//xmlhttp方式,支持火狐、chrome、oprea等浏览器,但不可跨域

var xmlhttp = new window.XMLHttpRequest();

xmlhttp.open("GET", xmlFile, false);

xmlhttp.send(null);

if (xmlhttp.status == 200) {

xmlDom = xmlhttp.responseXML;

}

} else {

xmlDom = null;

}

return xmlDom;

}

注:

由于xmlhttp方式不允许跨域,所以访问非本域名地址下的xml文件时即会报错。当在本地以无域名的方式访问本地xml文件,应该也是一样当做跨域处理,所以也会同样的报错如下:

Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101

火狐中怎么把xml转换为html,创建兼容IE、火狐、chrome、oprea浏览器的xmlDom对象方法...相关推荐

  1. 火狐中怎么把xml转换为html,将XML文件链接至HTML网页_xml

    要利用DOM 来存取xml 文件,你必须将XML 文件连结到html 网页上.要达成这个目的,最简单的方法就是插入一个data island.回想一下之前我们是利用一个命名为XML 的HTML 元素来 ...

  2. Office Open XML学习(1)-创建excel文档,并向单元格中插入字符串

    做企业级应用,跟office打交道是少不了的.这里的Office不仅仅局限于微软的Office,还有第三方的Open Office之类..Net传统的Office操作方法(比如OleDB,OWC之类) ...

  3. 在C#.net中如何操作XML

    在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...

  4. mongodb json_在MongoDB和Spring Batch中将XML转换为JSON和原始使用

    mongodb json 总览 为什么将XML转换为JSON以在MongoDB中原始使用? 由于MongoDB使用JSON文档存储记录,就像表和行将记录存储在关系数据库中一样,我们自然需要将XML转换 ...

  5. 在MongoDB和Spring Batch中将XML转换为JSON和原始使用

    总览 为什么将XML转换为JSON以在MongoDB中原始使用? 由于MongoDB使用JSON文档存储记录,就像表和行将记录存储在关系数据库中一样,我们自然需要将XML转换为JSON. 某些应用程序 ...

  6. sql limit 子句_SQL Server中的FOR XML PATH子句

    sql limit 子句 As SQL professionals, we often have to deal with XML data in our databases. This articl ...

  7. 实例演示如何在spring4.2.2中集成hibernate5.0.2并创建sessionFactory

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/49388209 文章作者:苏生米沿 本文目的:使用spring4.2.2集成hibern ...

  8. LINQ to XML .Net 3.5 中的新XML对象

    System.Xml.Linq 命名空间中,有一系列新的LINQ to XML 帮助对象,使处理内存中的XML文档变的非常简单. 示例使用的Hamlet.xml来源自C#高级编程源代码. XDocum ...

  9. 掌握XML系列(四)---创建格式良好的XML文档

    掌握XML系列(四)---创建格式良好的XML文档 前言:创建良好格式的XML文档,虽然写了这些,其实,等到大家真正的看完之后美酒会发现,其实也很简单的,我们这里所做的是带着大家全面的看看怎么样创建. ...

最新文章

  1. 什么是REST?以及RESTful的实现之二
  2. Selenium3自动化测试——21.数据驱动应用
  3. 定时任务--mysql数据库备份
  4. 练习4.4、4.5、4.6、4.7
  5. 10.31T4 HAOI2010最长公共子序列 计数+容斥原理
  6. 玩cf出现outofmemory_CF画质粗糙平衡感人,却能历经十年经久不衰,靠的是什么?...
  7. 黑马商城项目源代码_Python学习路线图--Python框架与项目
  8. 功能测试点有哪些?怎么做好软件功能测试?
  9. python中select模块_基于python select.select模块通信的实例讲解 如何用python写个串口通信的程序...
  10. mysql 单标递归_MYSQL递归树查询的实现
  11. Python实现蒙特卡罗方法仿真模拟求解圆周率Pi值
  12. 有了这款geek卸载工具,让你卸载不在烦恼!
  13. 清风数学建模学习笔记——逻辑回归的二分类模型
  14. MAVEN工程引入p6spy打印sql语句日志(Spring+mybatis)
  15. 胜为蓝牙适配器驱动_mac 安装usb 蓝牙适配器 胜为 shengwei UDC-324B
  16. 对象base64转码_Base64编码转换
  17. Adobe After Effects 2021 for Mac v18.4.1 视频合成及特效制作软件
  18. 【转】校招优秀简历和普通简历的区别
  19. springboot社区快递代取服务系统毕业设计-附源码
  20. 回忆鸭掌门的麻辣兔丁

热门文章

  1. 2021 ACDU China Tour-北京站暨数据库大咖讲坛(第3期)成功举办!(附PPT下载)
  2. 那些年删过的库,跑过的路,你从中找到解决方法了吗?
  3. 数字化转型鸿沟如何消除?ROMA Connect融合集成,联接企业应用现在与未来
  4. 电影AI修复,让重温经典有了新的可能
  5. 越来越受欢迎的Vue想学么,90后小姐姐今儿来教你
  6. 数据库选型入门必读:如何在眼花缭乱的产品中挑出最适合业务的?
  7. 【华为云技术分享】ARM体系结构基础(2)
  8. Too many open files的四种解决办法
  9. 华为云EI人脸识别接口初探
  10. 【Python3网络爬虫开发实战】1.6.2-Tornado的安装