An XML builder for node.js


An XML builder for node.js similar to java-xmlbuilder.

License NPM Version NPM Downloads

Travis Build Status AppVeyor Build status Dev Dependency Status Code Coverage


npm install xmlbuilder


var builder = require('xmlbuilder');
var xml = builder.create('root')
    .ele('repo', {'type': 'git'}, 'git://')
  .end({ pretty: true});


will result in:

<?xml version="1.0"?>
    <repo type="git">git://</repo>

It is also possible to convert objects into nodes:

  root: {
    xmlbuilder: {
      repo: {
        '@type': 'git', // attributes start with @
        '#text': 'git://' // text node

If you need to do some processing:

var root = builder.create('squares');'f(x) = x^2');
for(var i = 1; i <= 5; i++)
  var item = root.ele('data');
  item.att('x', i);
  item.att('y', i * i);

This will result in:

<?xml version="1.0"?>
  <!-- f(x) = x^2 -->
  <data x="1" y="1"/>
  <data x="2" y="4"/>
  <data x="3" y="9"/>
  <data x="4" y="16"/>
  <data x="5" y="25"/>

See the wiki for details and examples for more complex examples.