我的XML是这样的:
<?xml version="1.0" encoding="gb2312"?>
<data>
<item>
<yf>1</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>2</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>3</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>4</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>5</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>6</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>7</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>8</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>9</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>10</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>11</yf>
<lv>0.0003</lv>
</item>
<item>
<yf>12</yf>
<lv>0.0003</lv>
</item>
</data>读取XML代码是:
function readXML() 
{
  var source=new ActiveXObject("Msxml2.DOMDocument");   
  source.async=false;   
  source.load("d://lx.xml");
  var ItemN = source.getElementsByTagName("data");
  
  var j = ItemN.length;//获取item节点个数
  alert(j);
  var array1=new Array();
  for(i=0;i<j;i++)
  {
     array1[i]=ItemN[i].selectSingleNode("yf").text;//获取fy内容
     array1[i+1]=ItemN[i].selectSingleNode("lv").text;//获取lv内容
     alert(array1);
  }    
}
大家帮忙看看~代码无错误但是读取不到数据,ItemN.length为0;

解决方案 »

  1.   

    function readXML() 
    {
      var source=new ActiveXObject("Msxml2.DOMDocument");   
      source.async=false;   
      source.load("xml.xml");
      var ItemN = source.getElementsByTagName("item");
      
      var j = ItemN.length;//获取item节点个数
      alert(j);
      var array1=new Array();
      for(i=0;i<j;i++)
      {
         array1[i]=ItemN[i].selectSingleNode("yf").text;//获取fy内容
         array1[i+1]=ItemN[i].selectSingleNode("lv").text;//获取lv内容
         alert(array1);
      }    
    }
      

  2.   

    var ItemN = source.getElementsByTagName("item");
    我也改过为取ITEM但length依旧是0;
      

  3.   

    我在
    source.load("d://lx.xml");
    下用
    alert(source.xml);
    打出来的是空的,没有内容,是不是load时出错了;
      

  4.   

    服务器为本机,XML放在本机器D:下,LOAD应该怎么写.
      

  5.   

    source.load("d://lx.xml");
    ==>
    source.load("d:/lx.xml");
    试试
      

  6.   

    试试
      var source=new ActiveXObject("Microsoft.XMLDOM");
      

  7.   

    <script>
    function readXML() 
    {
      var source=new ActiveXObject("Msxml2.DOMDocument");   
      source.async=false;   
      source.load("d://lx.xml");
      var ItemN = source.getElementsByTagName("item");
      
      var j = ItemN.length;//获取item节点个数
      alert(j);
      var array1=new Array();
      for(i=0;i<j;i++)
      {
         array1[i]=ItemN[i].selectSingleNode("yf").text;//获取fy内容
         array1[i+1]=ItemN[i].selectSingleNode("lv").text;//获取lv内容
         alert(array1);
      }    
    }
    </script>
    <button onclick=readXML()>读!</button>
      

  8.   

    qf521lx你这段代码和我的没区别啊~还是读不到数据.好郁闷
      

  9.   

    不会吧,在我的机子上没问题的啊,去看看你xml文件名有没有写错啊。。
      

  10.   

    <html>
    <head>
    <script type="text/javascript">
    <!--
    var Browser={};
    Browser.isMozilla = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined');
    Browser.isIE = window.ActiveXObject ? true : false;
    var ua = navigator.userAgent.toLowerCase();
    Browser.isFirefox = (ua.indexOf("firefox")!=-1);
    Browser.isSafari = (ua.indexOf("safari")!=-1);
    Browser.isOpera = (ua.indexOf("opera")!=-1);
    var path="xmlfiles/";
    var filename = ["xsltElements.xml","xpathFunctions.xml","xsltFunctions.xml","XPath.xml","AXES.XML","例7-17.XML","例7-18.XML","例7-19.XML           ","Ex4_2_2.XML","XLAB.XML"];function getXMLDOM(){
    if(Browser.isIE){
            var xmldomversions = ['MSXML2.DOMDocument.5.0', 'MSXML2.DOMDocument.4.0', 'MSXML2.DOMDocument.3.0', 'MSXML2.DOMDocument', 'Microsoft.XMLDOM'];
            for(var i=0;i<xmldomversions.length;i++)
                try{
                    return new ActiveXObject(xmldomversions[i]);
                }catch(e){
                }
            return document.createElement("XML");
        }else if (Browser.isMozilla)
        {
            return document.implementation.createDocument('', '', null);
        }
        return null;
    }
    //-->
    </script>
    </head>
    <body style="margin:0px;" scroll="no">
    <textarea id="ta" style="width:100%; height:100%"></textarea>
    <script type="text/javascript">
    <!--
    var len = filename.length;var xmlDoc = getXMLDOM();
    //alert(typeof xmlDoc);
    xmlDoc.async    = false;
    var isSucess = xmlDoc.load("test.xml");
    //alert(isSucess);
    //alert(xmlDoc.documentElement.xml);function readXML() 
    {
        var xmlDoc = getXMLDOM();
        //alert(typeof xmlDoc);
        xmlDoc.async    = false;
        var isSucess = xmlDoc.load("test.xml");
      var ItemN = xmlDoc.getElementsByTagName("item");
      
      var j = ItemN.length;//获取item节点个数
      alert(j);
      var ar=new Array();
      for(var i=0;i<2;i++)
      {
         ar.push(ItemN[i].getElementsByTagName("yf")[0].childNodes[0].nodeValue);//获取fy内容
         ar.push(ItemN[i].getElementsByTagName("lv")[0].childNodes[0].nodeValue);//获取lv内容
      }
      alert(ar);
    }
     readXML();function getObjProperty(obj){
        var str = "";
        for(var p in obj){
            str += p + "\t: " + obj[p].replace("\n","") + "\n";
        }
        alert(str);
    }//-->
    </script>
    </body>
    </html>