Miss any of our Open RFC calls?Watch the recordings here! »

xml2js-xpath

0.11.0 • Public • Published

node-xml2js-xpath

A library for node-xml2js that allows querying the JSON object with XPath syntax.

build status

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

Only a subset of the XPath standard is currently supported:

  • Descendent selectors (//h, /parent/offspring).
  • Attribute selectors (/parent/offspring[@attribute='value']).
  • Tag value selectors (/parent[offspring='value']).

Notable unsupported features (there are many more, but these are some I'd like to support at some point!):

  • Order predicate (/parent/offspring[1])
  • 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

Install

npm i xml2js-xpath

DownloadsWeekly Downloads

2,272

Version

0.11.0

License

ISC

Unpacked Size

60.1 kB

Total Files

20

Last publish

Collaborators

  • avatar