Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

XPath

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

Document Tags and Contributors

 Contributors to this page: wbamberg, Brettz9
 Last updated by: wbamberg,