补充一下:
如何用XMLDOM来取出b结点为d="24"的所有City的值?

解决方案 »

  1.   

    nodes = xmldom.selectNodes("/a/b[@id=24]/city");
    for(i=0;i<nodes.length;i++)
       alert(nodes[i].text;
      

  2.   

    city应该Citynodes = xml.selectNodes("/a/b[@id=24]/City");
    for(i=0;i<nodes.length;i++)
       alert(nodes[i].text);
      

  3.   

    严重同意
    nodes = xmldom.selectNodes("/a/b[@id=24]/city");
      

  4.   

    to ice_berg16(寻梦的稻草人) :
    我用firefox调试不出来。是不是FF对象不支持selectNodes方法啊?
      

  5.   

    不好意思
    ff不支持这种写法
    ff下的写法要麻烦一点完整的代码
    <script language="javascript">
    if(window.XMLDocument)
    {
    XMLDocument.prototype.selectNodes = function(xpath,context)
    {
    var aNodeArray = new Array(); var xPathResult = this.evaluate( xpath, context ? context : this, 
    this.createNSResolver(this.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ;
    if ( xPathResult ) 
    {
    var oNode = xPathResult.iterateNext() ;
      while( oNode )
      {
      aNodeArray[aNodeArray.length] = oNode ;
      oNode = xPathResult.iterateNext();
      }

    return aNodeArray;
    }
    }xml = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Msxml2.XMLHTTP");
    xml.onreadystatechange = function(){
    if(xml.readyState == 4)
    {
    if(xml.status == 200)
    {
    xmldom = xml.responseXML;
    nodes = xmldom.selectNodes("/a/b[@id=24]/City");
    for(i=0;i<nodes.length;i++)
       alert(nodes[i].text || nodes[i].textContent);
    }
    }
    }
    xml.open('get', 'test.xml?.tmp='+Math.random(),true);
    xml.send(null);</script>
      

  6.   

    哦,是哦,ff还真是不支持selectNodes