<?xml version="1.0" encoding="utf-8"?>
<root> 
<tree name="t1"> 
<data>
<id>1</id>
</data>
</tree>
<tree name="t2"> 
<data>
<id>2</id>
</data>
<data>
<id>3</id>
</data>
</tree>
</treeview>
想请教如果用Microsoft.XMLDOM读取XML文件中的  <tree name="t1">   (t1)
和  <data>
<id>2</id> </data>
中的  2,3

解决方案 »

  1.   

    xml文件的最后应该是</root>结尾,不是</treeview>,与开始的<root>对称<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
     <head>
      <title> New Document </title>
     </head>
    <body><script type="text/javascript">
    var xmlDoc=null;
    if (window.ActiveXObject)
    {
    // code for IE
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    }
    else if (document.implementation.createDocument)
    {
    // code for Mozilla, Firefox, Opera, etc.
    xmlDoc=document.implementation.createDocument("","",null);
    }
    else
    {
    alert('Your browser cannot handle this script');
    }
    if (xmlDoc!=null)
    {
    xmlDoc.async=false;
    xmlDoc.load("a.xml");
    }var trees = xmlDoc.getElementsByTagName("tree");
    var temp;
    for(var i=0;i<trees.length;i++){
    if(trees[i].getAttribute("name")=="t2"){
    temp = trees[i];
    break;
    }
    }var id = temp.getElementsByTagName("id");
    alert(id[0].childNodes[0].nodeValue);
    alert(id[1].childNodes[0].nodeValue);
    </script>
    </body>
    </html>
      

  2.   


    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script src="jquery-1.3.2.js"></script>
    <script>
    function newInfo(){
            var xmlDom;     //XML DOM object  
            var xmlFile="ff.xml";    //xml file name  
            loadXML = function(fileRoute){  
                xmlDoc=null;  
                if (window.ActiveXObject){  
                    xmlDoc = new ActiveXObject('Msxml2.DOMDocument');  
                   xmlDoc.async=false;  
                    xmlDoc.load(fileRoute);  
                }else if (document.implementation && document.implementation.createDocument){  
                   var xmlhttp = new window.XMLHttpRequest();  
                   xmlhttp.open("GET",fileRoute,false);  
                   xmlhttp.send(null);  
                   var xmlDoc = xmlhttp.responseXML;  
               }  
               else {xmlDoc=null;}  
               return xmlDoc;  
           }  
           xmlDom=loadXML(xmlFile);  
           var newsList2=xmlDom.getElementsByTagName("data");  
          //alert(newsList2.length)
      var t1 = newsList2[1].getElementsByTagName("id")[0].childNodes[0].nodeValue;
      alert(t1)
      var t2 = newsList2[2].getElementsByTagName("id")[0].childNodes[0].nodeValue;
      alert(t2)
    }
    newInfo();
    </script>
    </head><body></body></html>
    稍微修改下,因为xml的标签是对称的<?xml version="1.0" encoding="utf-8"?>
    <treeview> 
    <tree name="t1"> 
    <data>
    <id>1</id>
    </data>
    </tree>
    <tree name="t2"> 
    <data>
    <id>2</id>
    </data>
    <data>
    <id>3</id>
    </data>
    </tree>
    </treeview> 
      

  3.   

    用xpath找,xmlDoc.documentElement.selectSingleNode("/root/tree[@name = 't1']")