开发学院网页设计JavaScript JS读取并输出xml文件节点及属性(兼容IE,FF) 阅读

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

 2010-08-08 20:14:29 来源:WEB开发网   
核心提示:JS读取并输出xml文件节点及属性(兼容IE,FF) 这个东西让我好难找啊,JS读取并输出xml文件节点及属性(兼容IE,FF),不过还是找到了,好东东不能自己藏着
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 >
<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" 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>

Tags:JS 读取 输出

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接