• JS读取XML文件


    文件:austin.js

    <script type="text/javascript">
    var Url="austin.xml";
    var cdsales=new ActiveXObject("Microsoft.XMLDOM"); //创建XmlDom对象
    cdsales.async=true; //异步加载
    cdsales.load(Url);
    cdsales.onreadystatechange= new function LoadedSales(){
        var txt="";
        if(cdsales.readyState==4){
         if(cdsales.parseError.errorCode != 0){
          txt="err";
         }
         else{
          var bi=cdsales.documentElement.selectNodes("item");
          if(bi!=null&&bi.length>0){
           for(var i=0;i<bi.length;i++){
            txt+="<li><a href="+bi[i].childNodes[1].text+" style=color:"+bi[i].childNodes[2].text+">"+bi[i].childNodes[0].text+"</a></li>";
           }
          }
          else{
           txt="LoadingErr...";
          }
         }
        }
        else{
         txt="Loading....";
        }
        document.write(txt);
    }
    </script>

    文件:austin.xml

    <?xml version="1.0" encoding="gb2312"?>
    <root>
        <item>
          <txt>安安的测试内容</txt>
          <url>http://hi.baidu.com/austin82</url>
          <color>green</color>
        </item>
        <item>
          <txt>Austin的测试内容</txt>
          <url>http://hi.baidu.com/austin82</url>
          <color>blue</color>
        </item>
    </root>

    JS读取并输出xml文件节点及属性(兼容IE,FF)
    这个东西让我好难找啊,不过还是找到了。

    好东东不能自己藏着,发出来分享一下了,^_^ |

    book.html   代码如下:

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <script language="javascript">
    var xmlDoc;
    var browse="";
    function loadXML()
    {
        var fileRoute="books.xml"
        if (window.ActiveXObject)
        {
            xmlDoc = new ActiveXObject('Msxml2.DOMDocument');
            xmlDoc.async=false;
            xmlDoc.load(fileRoute);
            browse="ie";
        }
        else if (document.implementation && document.implementation.createDocument)
        {
            xmlDoc=document.implementation.createDocument('', '', null);
            xmlDoc.load(fileRoute);
            browse="ff";
        }
        else
        {
        alert( '未做与该浏览器的兼容!');
        }
    }

    function getmessage()
    {
        var msg='<table border="1" cellspacing="0" cellpadding="0" width="500">';
        msg+='<tr><td width="90"></td><td width="100">图书编号</td><td width="100">种类编号</td><td width="110">图书名称</td><td width="100">作者</td></tr>'
        if(browse=="ff")
        {
            var cNodes = xmlDoc.getElementsByTagName("book");
            for(j=0;j<cNodes.length;j++)
            {
                var bookID=xmlDoc.getElementsByTagName("book")[j].getAttribute("id");
                var sortID=xmlDoc.getElementsByTagName("book")[j].getAttribute("sortID");
                var bookTitle=xmlDoc.getElementsByTagName("title")[j].childNodes[0].nodeValue;
                var bookAuthor=xmlDoc.getElementsByTagName("author")[j].childNodes[0].nodeValue;
                msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190">'+bookTitle+'</td><td width="120">'+bookAuthor+'</td></tr>'
            }
        }
        else if(browse=="ie")
        {
            var state = xmlDoc.readyState;
            if (state == 4)
            {
                var oNodes = xmlDoc.selectNodes("//books/book");
                for(j=0;j<oNodes.length;j++)
                {
                    var bookID=oNodes[j].getAttribute("id");
                    var sortID=oNodes[j].getAttribute("sortID");
                    var bookTitle=oNodes[j].childNodes[0].text;
                    var bookAuthor=oNodes[j].childNodes[1].text;
                    msg+='<tr><td>'+j+'</td><td>'+bookID+'</td><td width="100">'+sortID+'</td><td width="190">'+bookTitle+'</td><td width="120">'+bookAuthor+'</td></tr>'
                }
            }
        }
        msg+='</table>';
        //alert(msg)
        document.getElementById("bookList").innerHTML=msg;
    }

    </script>
    </head>
    <body onload="loadXML();">
    <div id="bookList" style="500px;">
    </div>
    <table border="0" cellspacing="0" cellpadding="0" width="500">
    <tr>
        <td> </td>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr>
    </table>
    <input name="button" type="button" onclick="getmessage()" value="onclick" />
    </body>
    </html>

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    books.xml 代码如下:

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    <?xml version="1.0" encoding="gb2312"?>
    <books>
        <book id="4" sortID="a4">
            <title>author4aa</title>
            <author>author4</author>
        </book>
        <book id="5" sortID="a5">
            <title>author55</title>
            <author>author5</author>
        </book>
        <book id="6" sortID="a6">
            <title>booktitle</title>
            <author>author6</author>
        </book>
        <book id="7" sortID="a7">
            <title>booktitle</title>
            <author>author7</author>
        </book>
        <book id="8" sortID="a8">
            <title>booktitle</title>
            <author>author8</author>
        </book>
        <book id="15" sortID="a15">
            <title>author155</title>
            <author>author15</author>
        </book>

  • 相关阅读:
    DotText源码阅读
    看来这世界看得太清楚了也未必是种好事呢~~~~~~~
    在Init之前究竟执行了什么?
    孙子兵法
    Excel区域重命名
    Getbuffer ReleaseBuffer Cstring
    批量删除svn标志
    VB制作网页自动填表(强烈推荐)
    GetModuleFileName
    ansi编码
  • 原文地址:https://www.cnblogs.com/elliot-vicky/p/3528666.html
Copyright © 2020-2023  润新知