Socket
Socket
Sign inDemoInstall

xmlbuilder

Package Overview
Dependencies
0
Maintainers
1
Versions
98
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

xmlbuilder

An XML builder for node.js


Version published
Maintainers
1
Weekly downloads
23,967,043
decreased by-7.64%

Weekly downloads

Package description

What is xmlbuilder?

The xmlbuilder npm package is a utility that allows for the easy creation of XML documents with a simple and readable API. It provides a way to build XML documents from JavaScript objects, and it supports various customization options for attributes, namespaces, and more.

What are xmlbuilder's main functionalities?

Creating an XML document

This feature allows you to create a complete XML document. You can specify attributes with '@' and text content with '#text'.

{"root":{"xmlbuilder":{"@version":"1.0","@encoding":"UTF-8","foo":{"@bar":"baz","#text":"Hello xmlbuilder!"}}}}

Customizing XML declaration

This feature allows you to customize the XML declaration by specifying the version, encoding, and standalone attributes.

{"declaration":{"@version":"1.0","@encoding":"UTF-8","@standalone":"yes"},"root":{"foo":"bar"}}

Adding attributes

This feature allows you to add attributes to an element. Attributes are prefixed with '@' and can be combined with text content.

{"root":{"ele":{"@id":"1","@name":"test","#text":"An element with attributes"}}}

Creating comments

This feature allows you to insert comments into your XML document using the '#comment' key.

{"root":{"#comment":"This is a comment","foo":"bar"}}

Building from an object

This feature allows you to build an XML document from a JavaScript object, with nested elements represented as nested objects.

{"root":{"ele":{"subele":"text","subele2":"text2"}}}

Other packages similar to xmlbuilder

Readme

Source

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.

Keywords

FAQs

Last updated on 08 Apr 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc