<SCRIPT LANGUAGE="JavaScript">
<!--
var result = new ActiveXObject("Msxml2.DOMDocument");
var xml ="<root><item id=\"1\"><num1>11</num1><num2>12</num2></item><item id=\"2\"><num1>21</num1><num2>22</num2></item></root>";   
var a = result.loadXML(xml); var root = result.documentElement; var s = result.selectNodes("//item"); alert(s[0].childNodes[0].text);//-->
</SCRIPT>你的xml格式都没正确,id="1" root没封闭

解决方案 »

  1.   

    root.childNodes[0].childNodes[0]得到l1
    root.childNodes[0].childNodes[1]得到l2
    root.childNodes[1].childNodes[0]得到21
    root.childNodes[2].childNodes[1]得到22
      

  2.   

    用root.childNodes[0].childNodes[0]我也想到的
    不过万一我的顺序有错乱
    那就会得到不正确的数据发现还有更好的
    function getNodeValue(root,NodeName) {
    try{
    var node = root.selectSingleNode(NodeName);
    return node.text;
    }catch(e){
    return "";
    }
    }function getNodeAttributes(Nodes)
    {
    var text="";
    for (var i=0;i<Nodes.length;i++) 
    {
    var node = Nodes[i];
    var id=node.getAttribute("id");
    var num1=getNodeValue(node,"num1");
    var num2=getNodeValue(node,"num2"); 
    alert("id=" + id);
    alert("num1=" + num1);
    alert("num2=" + num2);
    }
    return text;
    }
      

  3.   

    var nodes = root.selectNodes("item");
    for(var i=0; i<nodes.length; i++) {
    var xNode = nodes.item(i);
    var nums = xNode.childNodes;
    for(var j=0; j<nums.length; j++) {
    var item = nums.item(j);
    alert(item.text);
    }
    }