libxml bindings for v8 javascript engine
C++ JavaScript Other


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.