try:
xmlObj.responseXML.documentElement.childNodes[0].getElementsByTagName('pet').length

解决方案 »

  1.   

    直接写是判断页面上有没有这个元素,而页面上是没有这个对象的所以都是0,可以改成
    <script language=javascript>
    var str='<?xml version="1.0" encoding="UTF-8"?><data><pets><pet>dog</pet><pet>cat</pet><pet>pig</pet></pets></data>'
    var doc = new ActiveXObject("Msxml2.DOMDocument"); 
    doc.loadXML(str)
    alert(doc.getElementsByTagName("pet").length)
    </script>
      

  2.   

    2楼的,xmlObj.responseXML已经是空了,会出错,不知道为什么。
    3楼的可以,可以我怎么看一些参考书都是xmlObj.responseXML.getElementsByTagName('pet').length。为什么我的对象是空的,不解,望求指点
      

  3.   

    那是不是我得这样写 var str=xmlObj.responseText;
    然后再用你上述的方法,用起来有点怪
      

  4.   

    因为页面上也同样有document.getElementsByTagName('pet')这个方法
    这样是来取页面上的文本框等元素的方法,而页面上没有ID或者NAME为pet的对象,所以会是空的
      

  5.   

    但我是从网络上获取的XML呀,这是最终目的