libxml bindings for v8 javascript engine
C++ JavaScript Python Makefile
Latest commit 5ca9deb Jun 28, 2017
rchipka committed Jun 28, 2017 v0.18.7
* Fix AppVeyor builds on old Node versions

* Try installing npm first

* Try installing node last

* Lock down node-pre-gyp version for older Node versions

* Log NPM version after install

* Try older NPM version

* Put things back in order

* Use `after_test` instead of `before_deploy`

* v0.18.7


Build Status

AppVeyor Build Status

LibXML bindings for node.js

var libxmljs = require("libxmljs");
var xml =  '<?xml version="1.0" encoding="UTF-8"?>' +
           '<root>' +
               '<child foo="bar">' +
                   '<grandchild baz="fizbuzz">grandchild content</grandchild>' +
               '</child>' +
               '<sibling>with content!</sibling>' +

var xmlDoc = libxmljs.parseXml(xml);

// xpath queries
var gchild = xmlDoc.get('//grandchild');

console.log(gchild.text());  // prints "grandchild content"

var children = xmlDoc.root().childNodes();
var child = children[0];

console.log(child.attr('foo').value()); // prints "bar"


API and Examples

Check out the wiki

See the examples folder.

Installation via npm

npm install libxmljs


Start by checking out the open issues. Specifically the desired feature ones.


Make sure you have met the requirements for node-gyp. You DO NOT need to manually install node-gyp; it comes bundled with node.