UNPKG

@push.rocks/smartxml

Version:

A package for creating and parsing XML formatted files.

34 lines (28 loc) 909 B
import * as plugins from './smartxml.plugins.js'; import { XmlBuilder } from './smartxml.xmlbuilder.js'; export class SmartXml { constructor() {} public create = XmlBuilder.create; public parseXmlToObject<T = any>(xmlStringArg: string): T { const parser = new plugins.fastXmlParser.XMLParser({ preserveOrder: true, ignoreAttributes: false, parseTagValue: true, parseAttributeValue: true, // ignoreDeclaration: true }); const jsonObject = parser.parse(xmlStringArg); return jsonObject as T; } public createXmlFromObject(jsObject: any): string { const builder = new plugins.fastXmlParser.XMLBuilder({ ignoreAttributes: false, attributeNamePrefix: '@_', format: true, indentBy: ' ', }); const xml = builder.build(jsObject); return '<?xml version="1.0" encoding="UTF-8"?>\n' + xml; } } export { XmlBuilder };