xml-converter
v1.0.1
Published
A module for converting between XML format and JavaScript objects.
Downloads
3
Maintainers
Readme
xml-converter
A module for converting between XML format and JavaScript objects.
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 );
//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 );
//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. |
//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,
}
]
}
]
}
],
}