#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"]
});
With npm do:
npm install jsonml-parse
jsonml-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>
var parse = require('jsonml-parse');
jsonml-parse
exposed two different API styles: callback and stream.
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()
.
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.
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 exit
Example:
curl www.bbc.co.uk | jsonmlparse > bbc.json