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

0.6.1 • Public • Published

rapidx2j

Build Status

Node.JS module for converting XML documents into JSON objects. It is one of the fastest converters available. Uses RapidXML. Inspired by fast-feed.

Installation

npm install --save rapidx2j

Usage

x2j.parse(xml_string[, options][, callback]);

Sync

const x2j = require('rapidx2j');
const json = x2j.parse(xml_string);
console.log(json);

Sync with optional config object:

const x2j = require('rapidx2j');
const options = {
  attr_group: false,
  attr_prefix: '@',
  ignore_attr: false,
  empty_tag_value: null,
  parse_boolean_values: true,
  parse_int_numbers: true,
  parse_float_numbers: true,
  preserve_case: false,
  explicit_array: false,
  skip_parse_when_begins_with: '',
  value_key: 'keyValue'
};
const json = x2j.parse(xml_string, options);
console.log(json);

Async with callback

const x2j = require('rapidx2j');
const json = x2j.parse(xml_string, (err, json) => {
  if (!err) {
    console.log(json);
  }
});

Note that by default, rapidx2j will use 'true' as a value for empty XML tags; with config param 'empty_tag_value' one can set that to something else (i.e. to 'null' in this case). 'parse_boolean_values', 'parse_int_numbers' and 'parse_float_numbers' will or will not parse XML values which are bool/int/float numbers to appropriate java script types. 'preserve_case' will or will not preserve XML tag and attribute name case. 'skip_parse_when_begins_with' will not parse XML values which begin with a given string to appropriate javascript types. 'ignore_attr' will not parse any attributes.

Supported Node versions

  • node 4.x
  • node 5.x
  • node 6.x
  • node 8.x
  • node 9.x
  • node 10.x
  • node 11.x
  • node 12.x
  • node 14.x
  • node 15.x

Contributors

License & copyright

Copyright (c) 2015-2021 Damir Nedžibović

Use of this software is granted under the MIT or the Boost Software License, to be chosen freely by the user.

RapidXML is dual-licensed (MIT and Boost Software License, see LICENSE.rapidxml).

Package Sidebar

Install

npm i rapidx2j

Weekly Downloads

87

Version

0.6.1

License

MIT OR BSL-1.0

Unpacked Size

147 kB

Total Files

13

Last publish

Collaborators

  • damirn