str = '<documents><items><item id="xx"><![CDATA["xx"]]></item><item id="xx"><![CDATA["xx"]]></item><item id="xx"><![CDATA["xx"]]></item></items><selecttions><select id="xx"><![CDATA["xxx"]]></select>
</selecttions></documents>';xml = new ActiveXOjbect( "Msxml2.DOMDocument') ;
xml.loadXML( str );
var nodeList = xml.getElementsByTagName( "item" );
for(i=0;i<nodeList.length;i++)
{
    alert(nodeList[i].text);
}

解决方案 »

  1.   

    拼写有失误:
    xml = new ActiveXOjbect( "Msxml2.DOMDocument') ;
    改成
    xml = new ActiveXObject( "Msxml2.DOMDocument") ;
      

  2.   

    多谢 ice_berg16(寻梦的稻草人),如果我想根据ITEM的ID来获得某一个ITEM的值呢?应该用什么来判断?
    还有,如果我想创建这样的XML对象,应该如何做呢?我不是说拼字符串,有没有创建对象的方法?比如插入结点,给结点赋属性和值。
      

  3.   

    <script language="javascript"> 
    <!-- 
    var doc = new ActiveXObject("Msxml2.DOMDocument"); 
    //创建文件头 
    var p = doc.createProcessingInstruction("xml","version='1.0' encoding='gb2312'"); //添加文件头 
        doc.appendChild(p); //两种方式创建根接点 
        var root = doc.createNode(1,"documents","");     //创建子接点 
        var n = doc.createNode(1,"items","");     //创建子接点2 
        var n2 = doc.createNode(1,"selecttions","");     //创建孙接点2
        var o2 = doc.createNode(1,"select",""); 
        //创建数据段 
        //添加数据段
        var c = doc.createCDATASection("\"xx\"");     //创建数据段 
        //添加数据段
        var c2 = doc.createCDATASection("\"xxx\""); 
         
        //创建孙接点 
        var o = doc.createNode(1,"item","");    
     
            o.appendChild(c);
            o2.appendChild(c2);    //创建属性 
        var r = doc.createAttribute("id"); 
            r.value="xx";     //创建属性 
        var r2 = doc.createAttribute("id"); 
            r2.value="xx";         //添加属性 
            o.setAttributeNode(r); 
            o2.setAttributeNode(r2); 
           
            //添加孙接点 
            n.appendChild(o); 
            n2.appendChild(o2);        //添加子接点 
            root.appendChild(n); 
            //添加子接点2 
            root.appendChild(n2);     //复制接点 
        var m = o.cloneNode(true); 
        //复制接点 
        var l = o.cloneNode(true);         n.appendChild(m); 
            n.appendChild(l);     //添加根接点 
        doc.appendChild(root); 
        //查看XML         alert(doc.documentElement.xml);//--> 
    </script>
      

  4.   

    感谢love01px(JAVA CUP),太详细了,让我有了一点了解
    最后那个问题:
    如果我想根据ITEM的ID来获得某一个ITEM的值呢?
    再次麻烦解答一下
      

  5.   

    //节点的属性
        var a = doc.getElementsByTagName("item"); 
        for(var i= 0;i<a.length;i++) 
        { 
             alert(a[i].xml); 
            for(var j=0;j<a[i].attributes.length;j++) 
            { 
             alert(a[i].attributes[j].value);
            } 
        }
      

  6.   

    如果我想根据ITEM的ID来获得某一个ITEM的值呢?var it= xml.selectSingleNode("//*[@id="+id+"]").text;
      

  7.   

    假设ID为xx
    var it= xml.selectSingleNode("//*[@id=xx]").text;