xml2js-xpath
TypeScript icon, indicating that this package has built-in type declarations

0.13.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

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

Package Sidebar

Install

npm i xml2js-xpath

Weekly Downloads

17,477

Version

0.13.0

License

ISC

Unpacked Size

47.1 kB

Total Files

14

Last publish

Collaborators

  • dsummersl