js里各浏览器解析XML,支持IE、火狐、Chrome等

js在chrome中加载XML,js加载XML支持ff,IE6+,Opera等浏览器

见代码:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js里各浏览器解析XML,支持IE、火狐、Chrome等</title>
</head>
<body>
    <script>
        function loadxmlDoc(file){
            try{
                //IE
                xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
            }catch(e){
                ////Firefox, Mozilla, Opera, etc
                xmlDoc=document.implementation.createDocument("","",null);
            }

            try{
                xmlDoc.async=false;
                xmlDoc.load(file);//chrome没有load方法
            }catch(e){
                //针对Chrome,不过只能通过http访问,通过file协议访问会报错
                var xmlhttp = new window.XMLHttpRequest();
                xmlhttp.open("GET",file,false);
                xmlhttp.send(null);
                xmlDoc = xmlhttp.responseXML.documentElement;
            }
            return xmlDoc;
        }

        var ob=loadxmlDoc("stu.xml");
        var stu=ob.getElementsByTagName("stu");
        for(var i=0;i<stu.length;i++){
            var  data=stu[i].childNodes;
            for(var j=0;j<data.length;j++){
                if(data[j].nodeType==1){
                    if(document.all)
                        document.write(data[j].text+" ");//IE
                    else
                        document.write(data[j].textContent+" ");
                }
            }
            document.write("<br/>");
        }
    </script>
</body>
</html>

附stu.xml

<?xml version="1.0" encoding="UTF-8"?>
<stulist>
    <stu>
        <name>张三</name>
        <age>20</age>
        <sex>男</sex>
        <classid>lamp87</classid>
    </stu>
    <stu>
        <name>李四</name>
        <age>22</age>
        <sex>女</sex>
        <classid>lamp86</classid>
    </stu>
    <stu>
        <name>王五</name>
        <age>21</age>
        <sex>女</sex>
        <classid>lamp87</classid>
    </stu>
     <stu>
        <name>王五</name>
        <age>21</age>
        <sex>女</sex>
        <classid>lamp87</classid>
    </stu>
    <stu>
        <name>赵六</name>
        <age>24</age>
        <sex>男</sex>
        <classid>lamp88</classid>
    </stu>
</stulist>

觉得不错,推荐一下哦!

时间: 2024-10-10 22:42:30

js里各浏览器解析XML,支持IE、火狐、Chrome等的相关文章

JS作用域,浏览器解析原理

---恢复内容开始--- 浏览器: JS解析器:这儿理解为两步1)JS的预解析:“找一些东西”:var function 参数:   (1)所有的变量,在正式运行代码之前,都提前赋一个值:未定义   a=undefined:(2)所有的函数,在正式运行代码之前,都是整个函数块  fn1=function fn1(){alert(2);} 2)逐行解读代码(在第一步形成的仓库的基础上解读)表达式:= + - * / % !++ -- ......逐行读到表达式的时候会改变与预解析中变量的值 注:J

[完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器

截至自2017-08-11,支持现世已出的几乎所有PC端浏览器版本判断. 受支持的PC端浏览器列表: Edge IE Chrome Firefox Opera Safari QQ浏览器 360系列浏览器 使用IE内核的非主流浏览器 使用Chrome内核的非主流浏览器 使用混合内核的非主流浏览器 获取浏览器版本方法: function getBroswer(){ var sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s

js实现的解析xml文件和xml字符串代码实例

js实现的解析xml文件代码实例:下面分享一段代码实例,它实现了对xml文件的解析作用.代码如下: loadXML = function(xmlFile){ var xmlDoc=null; //判断浏览器的类型 //支持IE浏览器 if(!window.DOMParser && window.ActiveXObject){ var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsof

cocos2d-x 3.0 使用Sax解析xml文件(中国显示器问题解决)

今天是个好日子.我以为事情可以变得,明天是个好日子.打开门儿春风... 恩,听着歌写文档生活就是这么享受. 今天曾经的邻居大神突然在qq上赞了我一下,这让我异常激动啊.. 这还要从前前前几天说起,那会无意间看到cocos微信上的一个实话实说活动.反正就是參加了能够抽奖这样子啦.没错.我就是本着那官方T恤去的,本着分子越大分母越大抽奖几率越大的原则,然后就连着发了一番感慨.并且还都是比較罗嗦,没想到隔天cocos君居然给我回复了,中奖了有木有,cocos2dx的官方T恤,哈哈. .然后就是曾经的大

JS解析XML文件和XML字符串

JS解析XML文件 <script type='text/javascript'>    loadXML = function(xmlFile){        var xmlDoc=null;        //判断浏览器的类型        //支持IE浏览器        if(!window.DOMParser && window.ActiveXObject){            var xmlDomVersions = ['MSXML.2.DOMDocument.

js解析xml字符串或xml文件,将其转换为xml对象

注:判断是否是ie浏览器和非ie浏览器的方法有多种,在此只介绍用例中的方法: 1.解析xml字符串,得到xml对象的方式: function createXml(str){ if(document.all){//IE浏览器     var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");        xmlDoc.async = false;     xmlDoc.loadXML(str);     return xmlDoc; } el

CSS控制XML与通过js解析xml然后通过html显示xml中的数据

使用CSS控制XML的显示 book.css bookname{ display:block;color:Red} author{ display:block;font-style:italic} price{ display:block;colo book.xml <?xml version="1.0" encoding="GB2312" ?> <?xml-stylesheet type="text/css" href=&qu

怎么在html页面和js里判断是否是IE浏览器

HTML里: HTML代码中,在编写网页代码时,各种浏览器的兼容性是个必须考虑的问题,有些时候无法找到适合所有浏览器的写法,就只能写根据浏览器种类区别的代码,这时就要用到判断代码了.在HTML代码中,区别各种浏览器的代码如下,以ie6为例 <!--[if IE 6]>仅IE6可识别<![endif]--> <!--[if lte IE 6]> IE6及其以下版本可识别<![endif]--> <!--[if lt IE 6]> IE6以下版本可识

JavaWeb的学习--XML&amp;反射案例:通过解析xml,模拟浏览器路径访问servlet

1. 案例分析 通过解析xml,模拟浏览器路径访问servlet,我们希望用户访问的路径是/servlet1,将执行com.java.web.servlet01.MyServlet01程序,如果访问      的路径是/servlet2,将执行com.java.web.servlet01.MyServlet02程序. 在执行测试程序前(@before),解析xml文件,将解析的结果存放在Map集合中,map中的数据的格式为 路径=实现类. 解析xml的思路:先解析<servlet>,将结果存放