xml2js-xpath
v0.13.0
Published
Search xml2js JSON documents with XPath query strings.
Downloads
105,329
Readme
node-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:
var xml2js = require("xml2js");
var xpath = require("xml2js-xpath");
xml2js.parseString('<root><element id="15">target</element></root>', function(err, json) {
// 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
). - [X] Attribute selectors (
/parent/offspring[@attribute='value']
). - [X] Tag value selectors (
/parent[offspring='value']
). - [X] Order predicate (
/parent/offspring[1]
)
Notable unsupported features:
- [ ] Arithmetic comparisons (
/parent/offspring[@attribute > 12.5]
) - [ ] Boolean logic (
/parent/offspring[@attribute1 or @attribute2]
) - [ ] Axes (
/parent/following-sibling::offspring
) - [ ] Functions (
last()
,starts-with()
,contains()
,text()
, etc).
https://www.w3.org/TR/1999/REC-xpath-19991116
https://codebeautify.org/Xpath-Tester