Package Exports
- xml2js-xpath
- xml2js-xpath/xpath.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (xml2js-xpath) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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:
- Descendent selectors (
//h
,/parent/offspring
). - Attribute selectors (
/parent/offspring[@attribute='value']
). - Tag value selectors (
/parent[offspring='value']
). - 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).