您的位置:首页 > Web前端 > JavaScript

JS读取并输出xml文件节点及属性(兼容IE,FF)

2016-10-25 17:42 441 查看
这个东西让我好难找啊,不过还是找到了。
好东东不能自己藏着,发出来分享一下了,^_^ |
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="width: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></books>
-
资料引用:http://www.knowsky.com/546691.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: