• 技术文章 >后端开发 >XML/RSS教程

    不同浏览器对XML的解析是不同的

    陈政宽~陈政宽~2017-06-28 13:56:33原创3482
    下面这段代码在火狐能够解析,在谷歌和IE就不行了,应该如何来修改代码?如何解析XML呢

    下面这段代码在火狐能够解析,在谷歌和IE就不行了,应该如何来修改代码?如何解析XML呢?
    JScript code:

    代码如下:


    $("#result").append(xmlDoc.firstChild.localName + "<br/><hr>");
    for ( var i = 0; i < xmlDoc.documentElement.childElementCount; i++) {
    $("#result").append(
    xmlDoc.documentElement.children[i].localName + "<br/>");
    }


    兼容 IE、Firefox、Chrome、Safari、Opera 等浏览器的XML文件加载方式的代码如下,xml文件名为 1.xml。
    XML代码
    XML code:

    代码如下:


    <?xml version="1.0" encoding="utf-8"?>
    <note>
    <t1>
    <title>孟子E章的网站</title>
    <url>http://dotnet.aspx.cc/</url>
    </t1>
    <t1>
    <title>孟宪会的博客</title>
    <url>http://blog.csdn.net/net_lover/</url>
    </t1>
    </note>


    HTML 代码
    HTML code:

    代码如下:


    <script type="text/javascript">
    var xmlDoc = null, xmlhttp = null;
    function loadXML() {
    xmlhttp = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHttp");
    if (xmlhttp == null) {
    alert("你的浏览器不支持 XMLHttpRequest");
    return;
    }
    xmlhttp.open("GET", "1.xml?" + Date.parse(new Date()), true);
    xmlhttp.setRequestHeader("Content-Type", "text/xml");
    xmlhttp.onreadystatechange = getmessage;
    xmlhttp.send(null);
    }
    function getmessage() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
    xmlDoc = xmlhttp.responseXML.documentElement;
    if (xmlDoc == null) {
    alert("返回的数据不正确。");
    return;
    }
    var nodes = xmlDoc.getElementsByTagName("t1")
    tb = document.getElementById("table_note");
    tbody = document.createElement("tbody")
    for (i = 0; i < nodes.length; i++) {
    tr = document.createElement("tr")
    td = document.createElement("td")
    td.innerHTML = nodes[i].getElementsByTagName("title")[0].childNodes[0].nodeValue
    tr.appendChild(td)
    td = document.createElement("td")
    url = nodes[i].getElementsByTagName("url")[0].childNodes[0].nodeValue;
    td.innerHTML = "<a href='" + url + "'>" + url + "</a>"
    tr.appendChild(td)
    tbody.appendChild(tr)
    }
    tb.appendChild(tbody)
    }
    }
    </script>
    </head>
    <body onload="loadXML()">
    <table id="table_note" border="1">
    <tr>
    <td>姓名</td>
    <td>网址</td>
    </tr>
    </table>
    </body>
    </html>

    以上就是不同浏览器对XML的解析是不同的的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Firefox webkit
    上一篇:关于html嵌入xml数据岛如何穿过树形结构关系 下一篇:用Asp与XML实现交互的一个实例源码
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 四种XML解析方式详解• 详细介绍xml的语法的使用和学习• 基于PHP对XML的操作详解• XML(6)自己写一个xml序列化器• XML教程-用一个例子来学习XML的语法的详情
    1/1

    PHP中文网