Skip to content

dsummersl/node-xml2js-xpath

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

Search xml2js JSON documents with XPath query strings.

Resources

License

Stars

Watchers

Forks

Packages

No packages published