JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 105470
  • Score
    100M100P100Q175062F
  • License ISC

Search xml2js JSON documents with XPath query strings.

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.

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:

  • 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).

https://www.w3.org/TR/1999/REC-xpath-19991116

https://codebeautify.org/Xpath-Tester