JSPM

  • Created
  • Published
  • Downloads 40703978
  • Score
    100M100P100Q228624F

An XML builder for node.js

Package Exports

  • xmlbuilder
  • xmlbuilder/lib/XMLBuilder
  • xmlbuilder/lib/XMLStringifier
  • xmlbuilder/lib/index

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (xmlbuilder) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.