ImperialViolet

XPath in Mozilla (25 Oct 2004)

There really should be better documentation for this sort of thing. Maybe there is, but Google doesn't find it very well. Anyway...

var result = xmldocument.evaluate(xpath query, 
  xpath root element,
  null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);

The xmldocument seems to be able to be any such DOM object - it doesn't have to be connected with the root element so it could, for example, be document. Note that a general Node object wont do - they don't have an evaluate method.

Then the result object has a property snapshotLength giving the number of results and a given result Node object can be obtained by calling snapshotItem(i).