Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An XML builder for node.js
CoffeeScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
perf
src
test
.gitignore
.npmignore
.travis.yml
LICENSE
README.md
package.json

README.md

xmlbuilder-js

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

NPM version Build Status Dependency Status

Installation:

npm install xmlbuilder

Usage:

var builder = require('xmlbuilder');
var xml = builder.create('root')
  .ele('xmlbuilder', {'for': 'node-js'})
    .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git')
  .end({ pretty: true});

console.log(xml);

will result in:

<?xml version="1.0"?>
<root>
  <xmlbuilder for="node-js">
    <repo type="git">git://github.com/oozcitak/xmlbuilder-js.git</repo>
  </xmlbuilder>
</root>

It is also possible to convert objects into nodes:

builder.create({
  root: {
    xmlbuilder: {
      '@for': 'node-js', // attributes start with @
      repo: {
        '@type': 'git',
        '#text': 'git://github.com/oozcitak/xmlbuilder-js.git' // #text denotes element text
      }
    }
  }
});

If you need to do some processing:

var root = builder.create('squares');
root.com('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"?>
<squares>
  <!-- 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"/>
</squares>

See the wiki for details.

Something went wrong with that request. Please try again.