saxtract
Require
Saxtract now supports both libxmljs and saxjs. You must include one or the
other in your package.json
as neither is a dependency of saxtract
. You
indicate which one you desire to use thusly:
var saxtract = libxmljs; // or var saxtract = saxjs;
General Usage
The idea behind saxtract is to use a combination of SAX parsing and XPath
data extraction. This means you do not need to load the entire DOM to leverage
the simplicity of XPath. Saxtract uses a spec
object to define the data to
extract during parsing. For example:
var spec = '/root/@id': 'id';
Says to take whatever matches the xpath /root/@id
and store it in the result
object under the key id
. So if you were to parse this XML:
var xml = "";
Thusly:
var result = saxtract;
Your result would look like this (using JSON.stringify):
'id':'abc'
A more real world example pulled directly from the unit tests (test/saxtract_test.js) shows:
var saxtract = saxjs assert = expected = id: '5293' name: 'Robert Ludlum' link: 'http://www.goodreads.com/author/show/5293.Robert_Ludlum?utm_medium=api&utm_source=author_link' result = saxtract; console; assert;
I will add to this as I have time, but if you are actually interested, you can look at test/saxtract_test.js which has the most up to date examples.
Options
Logging
Logging can be turned on using:
var saxtract = saxjs; saxtractlogging = true; ...
Whitespace Preservation
Whitespace preservation can be enabled globally using:
var saxtract = saxjs; saxtractpreserveWhitespace = true; ...
or per call to parse:
var saxtract = saxjs; saxtract;