@push.rocks/smartxml
Version:
A package for creating and parsing XML formatted files.
30 lines • 2.14 kB
JavaScript
import * as plugins from './smartxml.plugins.js';
import { XmlBuilder } from './smartxml.xmlbuilder.js';
export class SmartXml {
constructor() {
this.create = XmlBuilder.create;
}
parseXmlToObject(xmlStringArg) {
const parser = new plugins.fastXmlParser.XMLParser({
preserveOrder: true,
ignoreAttributes: false,
parseTagValue: true,
parseAttributeValue: true,
// ignoreDeclaration: true
});
const jsonObject = parser.parse(xmlStringArg);
return jsonObject;
}
createXmlFromObject(jsObject) {
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 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RCxNQUFNLE9BQU8sUUFBUTtJQUNuQjtRQUVPLFdBQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBRm5CLENBQUM7SUFJVCxnQkFBZ0IsQ0FBVSxZQUFvQjtRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQ2pELGFBQWEsRUFBRSxJQUFJO1lBQ25CLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsYUFBYSxFQUFFLElBQUk7WUFDbkIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QiwwQkFBMEI7U0FDM0IsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM5QyxPQUFPLFVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRU0sbUJBQW1CLENBQUMsUUFBYTtRQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQ25ELGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxPQUFPLDBDQUEwQyxHQUFHLEdBQUcsQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUFFRCxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMifQ==