Wondering what’s next for npm?Check out our public roadmap! »

    xmlbuilder
    TypeScript icon, indicating that this package has built-in type declarations

    15.1.1 • Public • Published

    xmlbuilder-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

    Announcing xmlbuilder2:

    The new release of xmlbuilder is available at xmlbuilder2! xmlbuilder2 has been redesigned from the ground up to be fully conforming to the modern DOM specification. It supports XML namespaces, provides built-in converters for multiple formats, collection functions, and more. Please see upgrading from xmlbuilder in the wiki.

    New development will be focused towards xmlbuilder2; xmlbuilder will only receive critical bug fixes.

    Installation:

    npm install xmlbuilder

    Usage:

    var builder = require('xmlbuilder');
     
    var xml = builder.create('root')
      .ele('xmlbuilder')
        .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>
        <repo type="git">git://github.com/oozcitak/xmlbuilder-js.git</repo>
      </xmlbuilder>
    </root>

    It is also possible to convert objects into nodes:

    var builder = require('xmlbuilder');
     
    var obj = {
      root: {
        xmlbuilder: {
          repo: {
            '@type': 'git', // attributes start with @
            '#text': 'git://github.com/oozcitak/xmlbuilder-js.git' // text node
          }
        }
      }
    };
     
    var xml = builder.create(obj).end({ pretty: true});
    console.log(xml);

    If you need to do some processing:

    var builder = require('xmlbuilder');
     
    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);
    }
     
    var xml = root.end({ pretty: true});
    console.log(xml);

    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 and examples for more complex examples.

    Install

    npm i xmlbuilder

    DownloadsWeekly Downloads

    12,752,654

    Version

    15.1.1

    License

    MIT

    Unpacked Size

    321 kB

    Total Files

    50

    Last publish

    Collaborators

    • avatar