//firefox并不支持selectSingleNode和selectNodes方法;下面两段是用XPath来解决firefox模拟selectSingleNode和selectNodes方法,正确性有待解决 XMLDocument.prototype.selectSingleNode = Element.prototype.selectSingleNode = function (xpath){ var x = this .selectNodes(xpath) if ( ! x || x.length < 1 ) return null ; return x[ 0 ]; } XMLDocument.prototype.selectNodes = Element.prototype.selectNodes = function (xpath){ var xpe = new XPathEvaluator(); var nsResolver = xpe.createNSResolver( this .ownerDocument == null ? this .documentElement : this .ownerDocument.documentElement); var result = xpe.evaluate(xpath, this , nsResolver, 0 , null ); var found = []; var res; while (res = result.iterateNext()) found.push(res); return found; }
} //下面就可以用selectSingleNode和selectNodes方法 var row=null;
if(perid.substring(0,5)=="NO" && perid.length==9){ row=xml.selectSingleNode("root/row[@ID='"+perid+"']"); if (row!=null){ document.thisForm.MenuColor.value=row.getAttribute("CssFileName"); ChangeBgColor(document.thisForm.MenuColor.value); } }