Пакет для перевода XML строки в объект JavaScript и обратно.
- Версия Node.js от 16 и выше.
npm i xml-converter
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,
}
]
}
]
}
],
}
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>`
Аргумент | Тип | Описание |
---|---|---|
xml | string | Валидная строка XML. |
Аргумент | Тип | Описание |
---|---|---|
object | object | Объект в формате, описанном в секции ниже. |
indentSize | number | Величина отступов в пробелах в xml строке. |
Поле | Тип | Описание |
---|---|---|
value | string | Значение XML тега. |
attrs | object | Объект с атрибутами тега { attributeName: 'attributeValue' }. |
self | boolean | Флаг обозначающий, что тег - самозакрывающийся. |
[tag] | array | Массив дочерних тегов с одинаковыми именами. |
Пример
//object
{
root: [ // имя тега root
{ //объект, содержащий тег root
value: '', // значение тега root
attrs: {}, // атрибуты тега root
self: false,
child: [ // имя тега, вложенного в тег root
{ //объект, содержащий дочерний тег
value: '', // значение дочернего тега...
attrs: {},
self: false,
tag: [
{
value: 'string value',
attrs: {},
self: false,
},
{
value: '78',
attrs: {},
self: false,
}
]
}
]
}
],
}