Search xml2js JSON documents with XPath query strings.
npm install xml2js-xpathnode-xml2js-xpath
=================
A library for node-xml2js
that allows querying the JSON object with XPath syntax.

Install
=======
Use npm:
npm install --save xml2js xml2js-xpath
Usage
=====
To use this library, first you need to some xml2js results to parse. Example:
``javascript
var xml2js = require("xml2js");
var xpath = require("xml2js-xpath");
xml2js.parseString('
// find all elements: returns xml2js JSON of the element
var matches = xpath.find(json, "//element");
// find the first element, and get its id:
var matches = xpath.evalFirst(json, "//element", "id");
// Extract text representation of XML document:
assert xpath.jsonText(json) === 'target';
});
`
See test cases for more examples.
XPath Support
=============
This project supports a subset of the the XPath standard:
- [X] Descendent selectors (//h, /parent/offspring)./parent/offspring[@attribute='value']
- [X] Attribute selectors ()./parent[offspring='value']
- [X] Tag value selectors ()./parent/offspring[1]
- [X] Order predicate ()
Notable unsupported features:
- [ ] Arithmetic comparisons (/parent/offspring[@attribute > 12.5])/parent/offspring[@attribute1 or @attribute2]
- [ ] Boolean logic ()/parent/following-sibling::offspring
- [ ] Axes ()last()
- [ ] Functions ( , starts-with(), contains(), text()`, etc).
https://www.w3.org/TR/1999/REC-xpath-19991116
https://codebeautify.org/Xpath-Tester