Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An XML builder for node.js
branch: master

This branch is 2 commits ahead, 237 commits behind oozcitak:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib Pushing js built from coffee
src Allow multiple builder instances
test Allow multiple builder instances
.gitignore Added test.coffee.
.npmignore Added .npmignore.
Makefile
README.md Added missing parenthesis. Closes # 9.
package.json Bumped version to 1.2

README.md

xmlbuilder-js

An XMLBuilder for node.js similar to java-xmlbuilder.

Installation:

npm install xmlbuilder

Important:

I had to break compatibility while adding string escaping to version 0.1.0. As a result, version from v0.1.0 are not compatible with previous versions.

Usage:

var builder = require('xmlbuilder');

builder.begin('root')
  .ele('xmlbuilder')
    .att('for', 'node-js')
    .ele('repo')
      .att('type', 'git')
      .txt('git://github.com/oozcitak/xmlbuilder-js.git') 
    .up()
  .up()
  .ele('test')
    .txt('complete');

console.log(builder.toString({ pretty: true }));

will result in:

<root>
  <xmlbuilder for="node-js">
    <repo type="git">git://github.com/oozcitak/xmlbuilder-js.git</repo>
  </xmlbuilder>
  <test>complete</test>
</root>

If you need to do some processing:

var root = builder.begin('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:

<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>
Something went wrong with that request. Please try again.