Notes and sample code for XPath and Ajax
(The following was moved from document.evaluate)
obj.evaluate(xpathExpression,contextNode,namespaceResolver,resultType,result); //obj and contextNode should be the same object, if context is a ajax xml object (example: returnedXML) this should be used as : returnedXML.evaluate(xpathExpression,returnedXML,namespaceResolver,returnType,result); //contextNode should be used in the one in which it was created //add by mooring 2008-11-15 16:00 china
var xhr = new Ajax('post','demo.xml',parseXML,'xml'); //Ajax is a class written by javascript which return responseXML object to parseXML function function parseXML(obj)//obj is the returnXML object now { if(!obj.documentElement) { alert("Your Browser does't support this script!"); return; } var fields = [];//store the results if(window.ActiveXObject) { var tobj = obj.documentElement.selectNodes("/root/field/item"); for(var i=0;i<tobj.length; i++) { fields.push(tobj[i].text); } } else { var tobj = obj.evaluate("/root/field/item",obj.documentElement,null, XPathResult.ANY_TYPE, null); var tmp = tobj.iterateNext(); while(tmp) { fields.push(tmp.textContent); tmp = tobj.iterateNext(); } } alert(fields); } //here is the demo xml file for xpath <?xml version="1.0"?> <root> <field> <item>Art_Id</item> <item>PSection</item> <item>Qkind</item> <item>Qtitle</item> <item>Question</item> <item>Pic</item> <item>Answer1</item> <item>Answer2</item> <item>Answer3</item> <item>Answer4</item> </field> </root> //add by mooring 2008-11-15 16:16 china