jsonml-parse v1.0.1
#jsonml-parse
Convert markup (HTML) in text form to JSONML.
##Example
var parse = require('jsonml-parse');
parse('<button class="btn">Awesome</button>', function(err, data) {
console.dir(data);
//-> ["button", { "class": "btn" }, "Awesome"]
});Install
With npm do:
npm install jsonml-parsejsonml-parse also works in the browser, both via browserify and as a stand-alone script:
<script src="http://wzrd.in/standalone/jsonml-parse@latest"></script>Usage
var parse = require('jsonml-parse');jsonml-parse exposed two different API styles: callback and stream.
parse(markup, callback)
Parses the markup string and invokes callback when done. callback is treated as a node-style callback, i.e. the first argument will always be the error object (null on success), and the second will always be the JSONML result. Note: If markup contains multiple top-level nodes they will be wrapped in an array before being passed to callback. This will also be the case if your markup has leading and/or trailing whitespace/text. For consistent resuls be sure to String#trim() the markup before passing it to parse().
var stream = parse()
Returns a new transform stream which you will write the markup to, and read the JSONML from. Note: Each top-level node will be emitted as separate 'data' events. Any whitespace/text before, after, or in between top-level nodes will be treated as a separate top-level nodes, so be sure to handle accordingly in your data event handlers.
CLI
jsonml-parse also comes with a CLI tool (jsonmlparse):
$ jsonmlparse --help
Usage: node jsonmlparse [file] [options]
file The file containing the markup to convert to JSONML, will read from stdin if not specified
Options:
-o, --output Output file, will send to stdout if not specified
--version Print version and exitExample:
curl www.bbc.co.uk | jsonmlparse > bbc.json
