<?xml version="1.0" encoding="GB2312"?>
<Groups Ver="-1">
    <Group id="10000001" name="组织架构">
         <Group id="1" name="恒星冷冻" type="0">
<Group id="2" name="企划部" type="0">
    <Group id="3" name="产品组A" type="0"></Group>
</Group>
<Group id="4" name="市场部" type="0">
            <Group id="5" name="科研组" type="0"></Group>
         </Group>
 
<Group id="6" name="无线开发部" type="0">
<Group id="7" name="server组" type="0"></Group>
</Group>
</Group>

<Group id="8" name="联合冷热" type="0">
         <Group id="9" name="营业部" type="0"></Group>
</Group>
<Group id="10" name="恒迅" type="0">
</Group>
</Group>
</Groups>求一JS能读出上述XML且能将选定的name 和 id 分别赋值 给两个文本框,谢谢

解决方案 »

  1.   

    http://www.javaeye.com/topic/685296看看这个
      

  2.   

    我给个增删改查的给你   js+dom操作的
    <script type="text/javascript" language="javascript">
        //构建DOM对象
        function createDOM()
        {
            var oReq = zXmlHttp.createRequest();
            oReq.open("GET","../XmlFile/TestXml.xml",false);
            oReq.send(null);
            
            var oDom = oReq.responseXML;
            
            if(oDom.parseError != "")
            {
                document.getElementById("m_textarea2").value = ShowError(oDom.parseError);
                return;
            }
            return oDom;
        } 
        
        //显示结果
        function showResult(text)
        {
            var oResult = document.getElementById("m_textarea2");
            oResult.value += text + "\n";
        }
        
        //错误提示
        function ShowError(err)
        {
            var message = "错误信息是:"+"\n"+"原因:" + err.reason +"\n"+ "行号是:" + err.line + "\n" + "错误代码是:" + err.srcText;
            return message;
        }
        
        //显示XML
        function ShowXml(xml)
        {
            document.getElementById("m_textarea1").value = xml;
        }
        
        //初始化
        function init()
        {
            var oDom = createDOM();
            
            if(oDom.parseError != "")
            {
                document.getElementById("m_textarea2").value = ShowError(oDom.parseError);
                return;
            }
            ShowXml(oDom.xml);
        }
        
        /*
            增加root的子节点
        */
        function AddNode()
        {
            var _arrTextName = ["xxx","xxx","xxx"];
            var oDom = createDOM();
            
            var oNewElement = oDom.createElement("NewNode");
            //得到第一级子节点的子节点集合
            var olist = oDom.documentElement.firstChild.childNodes;
            for(var i=0;i<olist.length;i++)
            {
                var nodeName = olist[i].nodeName;
                var oNewElementFirstChild = oDom.createElement(nodeName);
                var oNewElementFirstChildText = oDom.createTextNode(_arrTextName[i]);
                oNewElementFirstChild.appendChild(oNewElementFirstChildText);
                oNewElement.appendChild(oNewElementFirstChild);
            }
            oDom.documentElement.appendChild(oNewElement);
            showResult(oDom.xml);
        }
        
        /*
            删除root的子节点
            删除属性genre="张三"的那个子节点
        */
        function DeleteNode()
        {
            var oDom = createDOM();
            var olist = oDom.documentElement.firstChild.childNodes;
            for(var i=0;i<olist.length;i++)
            {
                var oNode = olist[i];
                var tagAtt = oNode.attributes.getNamedItem("genre");
                if(tagAtt != null && tagAtt.nodeValue == "张三")
                {
                    oDom.documentElement.removeChild(oNode.parentNode);
                }
            }
            showResult(oDom.xml);
        }
        
        /*
            增加root子节点的子节点的属性
            (给title节点添加id)
        */
        function AddNodeAtt()
        {
            var _arrId = ["1","2","3"];
            var oDom = createDOM();
            var olist = oDom.documentElement.firstChild.childNodes;
            for(var i=0;i<olist.length;i++)
            {
                var oNewAtt = oDom.createAttribute("id");
                oNewAtt.nodeValue = _arrId[i];
                var otagElement = oDom.documentElement.getElementsByTagName("title")[i];
                otagElement.attributes.setNamedItem(oNewAtt);
            }
            showResult(oDom.xml);
        }
        
        /*
            修改root子节点的子节点的属性
            (修改title的属性)
        */
        function EditNodeAtt()
        {
            var _arrName = ["修改1","修改2","修改3"];
            var oDom = createDOM();
            var olist = oDom.documentElement.firstChild.childNodes;
            for(var i=0;i<olist.length;i++)
            {
                var otagElement = oDom.documentElement.getElementsByTagName("title")[i];
                var otagAttribute = otagElement.attributes.getNamedItem("genre");
                otagAttribute.nodeValue = _arrName[i];
            }
            showResult(oDom.xml);
        }
        
        /*
            删除root子节点的子节点的属性
            (删除genre的属性)
        */
        function DelNodeAtt()
        {
            var _arrName = ["修改1","修改2","修改3"];
            var oDom = createDOM();
            var olist = oDom.documentElement.firstChild.childNodes;
            for(var i=0;i<olist.length;i++)
            {
                var otagElement = oDom.documentElement.getElementsByTagName("title")[i];
                otagElement.attributes.removeNamedItem("genre");
            }
            showResult(oDom.xml);
        }
    </script>