百度空间 | 百度首页 
 
查看文章
 
js解析xml文件
2009-05-27 13:29

前几天java解析xml,今天没事写了个js解析xml供大家看看,详细这很有用的,如:级联,ajax特效等等

//temp.xml

<?xml version="1.0" encoding="gb2312"?>
<NewDataSet>

    <table>    <!--形式一-->
      <nid>1 </nid>
      <name>A </name>
    </table>
<table>
      <nid>2 </nid>
      <name>B </name>
    </table>
<table>
      <nid>3 </nid>
      <name>C </name>
    </table>


<table2>     
      <nid>4</nid>
   <nnid>1</nnid>
      <name>a1</name>
    </table2>
<table2>
      <nid>5</nid>
   <nnid>1</nnid>
      <name>a2</name>
    </table2>
<table2>
      <nid>6</nid>
   <nnid>1</nnid>
      <name>a3</name>
    </table2>
<table2>
      <nid>7</nid>
   <nnid>2</nnid>
      <name>b1</name>
   </table2>
  
   <table3>          <!--形式二-->
      <t nid="1" nnid="11" name="aaaaaa">AAAAAA</t>
   <t nid="2" nnid="22" name="bbbbbb">BBBBBB</t>
   <t nid="3" nnid="33" name="cccccc">CCCCCC</t>
   </table3>


</NewDataSet>

//inddex.html

<script language="javascript">
var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load("temp.xml");
var xml = xmlDoc.documentElement;
var xmlTalbe = xml.getElementsByTagName("table");
var xmlTalbe2=xml.getElementsByTagName("table2");
var xmlTalbe3=xml.getElementsByTagName("table3");
//alert(xml.getElementsByTagName("nid")[0].childNodes[0].nodeValue);
//document.write(xml.getElementsByTagName("name")[i].childNodes[0].nodeValue);
//解析xml的值
for(var i=0;i<xmlTalbe.length;i++){
   document.write(xmlTalbe[i].getElementsByTagName("nid")[0].childNodes[0].nodeValue);
   document.write(xmlTalbe[i].getElementsByTagName("name")[0].childNodes[0].nodeValue);
}

//通过对xml的值取相应的xml对象
document.write("<br>");
alert(xmlTalbe2.length);
for(var i=0;i<xmlTalbe2.length;i++){
   if(xmlTalbe2[i].getElementsByTagName("nnid")[0].childNodes[0].nodeValue==1){
  
    document.write(xmlTalbe2[i].getElementsByTagName("name")[0].childNodes[0].nodeValue);
   }
}
//alert(xmlTalbe3[0].getElementsByTagName("t")[1].childNodes[0].nodeValue);
// getAttribute("nid")

//xml 对属性的解析
document.write("<br>");
var obj = xmlTalbe3[0].getElementsByTagName("t");
alert(obj.length);
for(var i=0;i<obj.length;i++){
   document.write(obj[i].getAttribute("nid")+"<br>");
   document.write(obj[i].getAttribute("nnid")+"<br>");
   document.write(obj[i].getAttribute("name")+"<br>");
   document.write(obj[i].childNodes[0].nodeValue+"<br>");
}
</script>


类别:Js | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu