Skip to content

A module for converting between XML format and JSON objects.

License

Notifications You must be signed in to change notification settings

DonVietnam/xml-converter

Repository files navigation

xml-converter

A module for converting between XML format and JavaScript objects.

Documentation in Russian

Requirements

  • Node.js version >=16.

Installation

npm i xml-converter

Examples of using

Parsing XML to JavaScript object.

const { parseXML } = require( 'xml-converter' );

const xml = `<root>
<child>
    <tag>string value</tag>
    <tag>78</tag>
</child>
</root>`;

const object = parseXML( xml );
Result
//object
{
  root: [
    {
      value: '',
      attrs: {},
      self: false,
      child: [
        {
          value: '',
          attrs: {},
          self: false,
          tag: [
            {
              value: 'string value',
              attrs: {},
              self: false,
            },
            {
              value: '78',
              attrs: {},
              self: false,
            }
          ]
        }
      ]
    }
  ],
}

Parsing JavaScript object to XML.

const { parseObject } = require( 'xml-converter' );

const object = {
    root: [
      {
        value: '',
        attrs: {},
        self: false,
        child: [
          {
            value: '',
            attrs: {},
            self: false,
            tag: [
              {
                value: 'string value',
                attrs: {},
                self: false,
              },
              {
                value: '78',
                attrs: {},
                self: false,
              }
            ]
          }
        ]
      }
    ],
  }

const xml = parseObject( object, 2 );
Result
//xml
`<root>
<child>
  <tag>string value</tag>
  <tag>78</tag>
</child>
</root>`

Arguments

parseXML( xml )

Argument Type Description
xml string Valid xml string.

parseObject( object, indentSize )

Argument Type Description
object object Valid object described in the next section.
indentSize number Indent size for xml string.

Fields and type of the object returned from the parseXML().

Field Type Description
value string Value of the XML tag.
attrs object Object with tag's attributes { attributeName: 'attributeValue' }.
self boolean Flag indicating whether the tag is self-closing.
[tag] array Array with child-tags with same tag name.
Example
//object
{
  root: [ // root tag name
    { // object, root tag
      value: '', // root tag value
      attrs: {}, // root tag attributes
      self: false,
      child: [ // child tag name
        { // object, child tag
          value: '', // child tag value...
          attrs: {},
          self: false,
          tag: [
            {
              value: 'string value',
              attrs: {},
              self: false,
            },
            {
              value: '78',
              attrs: {},
              self: false,
            }
          ]
        }
      ]
    }
  ],
}

About

A module for converting between XML format and JSON objects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published