Socket
Socket
Sign inDemoInstall

xml2js

Package Overview
Dependencies
1
Maintainers
2
Versions
52
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    xml2js

Simple XML to JavaScript object converter.


Version published
Weekly downloads
16M
decreased by-17.97%
Maintainers
2
Install size
72.4 kB
Created
Weekly downloads
 

Package description

What is xml2js?

The xml2js npm package is a library that allows users to convert XML data into a JavaScript object and vice versa. It is useful for working with XML data in a JavaScript environment, such as Node.js applications, where JSON is the more commonly used data format.

What are xml2js's main functionalities?

Parsing XML to JavaScript Object

This feature allows you to parse XML data and convert it into a JavaScript object. The 'parseString' method takes an XML string and a callback function that receives the parsed result.

const xml2js = require('xml2js');
const parser = new xml2js.Parser();
const xml = '<root>Hello xml2js!</root>';

parser.parseString(xml, (err, result) => {
  console.log(result);
});

Converting JavaScript Object to XML

This feature enables you to take a JavaScript object and convert it into an XML string. The 'Builder' class is used to create an XML string from the provided object.

const xml2js = require('xml2js');
const builder = new xml2js.Builder();
const obj = { root: 'Hello xml2js!' };

const xml = builder.buildObject(obj);
console.log(xml);

Customizing Parser Options

xml2js allows you to customize the behavior of the parser through various options. In this example, 'explicitArray' is set to false to avoid wrapping single elements in an array, and 'trim' is set to true to trim the whitespace from the text nodes.

const xml2js = require('xml2js');
const parser = new xml2js.Parser({
  explicitArray: false,
  trim: true
});
const xml = '<root>    Hello xml2js!    </root>';

parser.parseString(xml, (err, result) => {
  console.log(result);
});

Other packages similar to xml2js

Readme

Source

node-xml2js

Description

Simple XML to JavaScript object converter. Uses sax-js.

See the tests for examples until docs are written.

Note: If you're looking for a full DOM parser, you probably want JSDom.

Installation

Simplest way to install xml2js is to use npm, just npm install xml2js which will download xml2js and all dependencies.

Simple usage

var fs = require('fs'),
    xml2js = require('xml2js');

var parser = new xml2js.Parser();
parser.addListener('end', function(result) {
    console.dir(result);
    console.log('Done.');
});
fs.readFile(__dirname + '/foo.xml', function(err, data) {
    parser.parseString(data);
});

Options

Apart from the default settings, there is a number of options that can be specified for the parser. Options are specified by new Parser({optionName: value}). Possible options are:

  • explicitCharkey (default: false)
  • trim (default: true): Trim the whitespace at the beginning and end of text nodes.
  • normalize (default: true): Trim whitespaces inside text nodes.
  • explicitRoot (default: false): Set this if you want to get the root node in the resulting object.
  • emptyTag (default: undefined): what will the value of empty nodes be. Default is {}.
  • explicitArray (default: false): Always put child nodes in an array if true; otherwise an array is created only if there is more than one.

These default settings are for backward-compatibility (and might change in the future). For the most 'clean' parsing, you should disable normalize and trimming and enable explicitRoot.

Running tests, development

The development requirements are handled by npm, you just need to install them. We also have a number of unittests, they can be run using zap directly from the project root.

Keywords

FAQs

Last updated on 31 Aug 2011

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