如何使用javascript DOM解析此XML?

如何使用javascript DOM解析此XML?,javascript,xml,Javascript,Xml,这是我的xml <colors> <SET name="temp"> <menu>#9c7db5</menu> <menuTxt>#ffffff</menuTxt> <tH>#FFF</tH> <tHTxt>#000</tHTxt> <head>#919191</head> <headTxt>#

这是我的xml

<colors>
<SET name="temp">
    <menu>#9c7db5</menu>
    <menuTxt>#ffffff</menuTxt>
    <tH>#FFF</tH>
    <tHTxt>#000</tHTxt>
    <head>#919191</head>
    <headTxt>#ffffff</headTxt>
    <label>#2e2e2e</label>
    <but>#8f8f8f</but>
    <butTxt>#ffffff</butTxt>
    <footer>#FFF</footer>
    <footTxt>#000</footTxt>
    <backT>#FFF</backT>
</SET>
<SET name="footercheck">
    <menu>#6492c4</menu>
    <menuTxt>#ffffff</menuTxt>
    <tH>#FFF</tH>
    <tHTxt>#000</tHTxt>
    <head>#4275b3</head>
    <headTxt>#ffffff</headTxt>
    <label>#0a0a66</label>
    <but>#3b66a8</but>
    <butTxt>#ffffff</butTxt>
    <footer>#5f90b0</footer>
    <footTxt>#ffffff</footTxt>
    <backT>#FFF</backT>
</SET>
</colors>
用户将按标签的“名称”属性进行搜索。一旦给定的名称与任何标记匹配,我需要获取它的所有子节点值。。等等

这就是我到目前为止所尝试的

function parseXML{
                   if (window.XMLHttpRequest)
        {
            xmlhttp=new XMLHttpRequest();
        }
        else
        {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }var y;
        xmlhttp.open("GET","style/userTheme.xml",false);
        xmlhttp.send();
        xmlDoc=xmlhttp.responseXML;
        var x=xmlDoc.getElementsByName(iid); //'iid' is user's input
        for (var i = 0; i < x.length; i++) {   
            x[i].childNodes[0].nodeValue
        } 
}
我已经检查了“X”的长度,它是“1”。所以它将整个XML过滤为一个。但我不知道如何继续下去。
如果您知道,请给我一个答案。

您显示的不是有效的XML。它没有第一行指示它是XML文档。缺少以下行,这可能会导致您在分析时出现问题

<?xml version="1.0" encoding="UTF-8"?>
var childrenNodes = new Array();

for (var i = 0; i < x.length; i++) {   
   childrenNodes[i] = x[i].childNodes[0].nodeValue;
}

return childrenNodes;
var result = doc.evaluate('/form/set[name='+iid+']', xmlDoc, null, XPathResult.STRING_TYPE, null);
return result;