<root>
<product id="1">
<name>aaaa</name>
</product>
<product id="2">
<name>bbbb</name>
</product>
</root>如何分别根据已知路径节点的属性和值查找到节点?比如我要找出id=1和name包含"a"的节点,dom怎么写?ps:javascript环境使用Msxml2.DOMDocument

解决方案 »

  1.   


    var oDoc = new ActiveXObject("Msxml2.DOMDocument");
    oDoc.async = false;
    oDoc.validateOnParse = false;
    oDoc.preserveWhiteSpace = false;
    oDoc.resolveExternals = false;
    oDoc.setProperty("SelectionLanguage", "XPath");
    oDoc.load("a.xml");
    if (oDoc.parseError.errorCode == 0){
        var oNodes = oDoc.selectNodes("//product[@id='1' and contains(name,'a')]");
        for(var i=0;i<oNodes.length;i++){
           alert(oNodes[i].xml);
        }
    }
    else alert(oDoc.parseError.reason);