js 学习笔记(1)javascript DOM解析器解析XML文档

javascript DOM解析器解析XML文档

 

创建解析器

     loadXML = function(xmlFile)   
        {   
              var xmlDoc; 
        //Internet Explorer 内核的浏览器     
       if(window.ActiveXObject)   
          {   
              xmlDoc = new ActiveXObject('Microsoft.XMLDOM');   
              xmlDoc.async = false;   
			  xmlDoc.load(xmlFile);   
         }   
        //Mozilla 浏览器内核
       else if(window.DOMParser){
               var p=new DOMParser;
               return p.parseFormString(xmlFile,"text/xml");
 
            } 
       else  
         {   
             return null;   
          }   
  
        return xmlDoc;   
}

 

对XML文档的判断

checkXMLDocObj = function(xmlFile)   
{   
var xmlDoc = loadXML(xmlFile);   
if(xmlDoc==null)   
{   
alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');   
} 
else{
alert('能够支持');
}  
  
return xmlDoc;   
}   

 

 分析解析器产生的内容

 function createRow(data){
	 
	 var row=new Array();
	
	 alert("条目"+data.length);
	 for(var i=0;i<data.length;i++){
	     row[i]=document.createElement("tr");
	     for(var j=0;j<6;j++){
	     var cell,txtNode;
	     cell=document.createElement("td");
	     cell.setAttribute("border","0");
	     alert(data[i][j]);
	     txtNode=document.createTextNode(data[i][j]);
	     cell.appendChild(txtNode);
	     row[i].appendChild(cell);
	     }	
	 }
	  return row;
	 }	   
       
 function pareXML(){
           var xmlDoc = checkXMLDocObj('book.xml');  
           var aCountent=xmlDoc.getElementsByTagName("COMPUTERBOOK");
           alert('调试'+aCountent.length);
           var content=new Array();
           for(var i=0;i<aCountent.length;i++){
           content[i]=[aCountent[i].childNodes[0].text,aCountent[i].childNodes[1].text,aCountent[i].childNodes[2].text,aCountent[i].childNodes[3].text,aCountent[i].  
                          childNodes[4].text,aCountent[i].childNodes[5].text];
          alert(content[i]);
            } 
          var newRow=createRow(content);   
          var displayTable=document.getElementById("display");
          for(var i=0;i<aCountent.length;i++){ 
                  displayTable.appendChild(newRow[i]);
          }
	 } 
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值