53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						||
| 
								 | 
							
								exports.writeXml = void 0;
							 | 
						||
| 
								 | 
							
								const fs = require("fs-extra");
							 | 
						||
| 
								 | 
							
								function printElement(elem, data, indents) {
							 | 
						||
| 
								 | 
							
								    for (let i = 0; i < indents; ++i)
							 | 
						||
| 
								 | 
							
								        data += '\t';
							 | 
						||
| 
								 | 
							
								    if (typeof elem === 'string') {
							 | 
						||
| 
								 | 
							
								        data += '<!-- ' + elem + ' -->\n';
							 | 
						||
| 
								 | 
							
								        return data;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    data += '<' + elem.n;
							 | 
						||
| 
								 | 
							
								    for (let a in elem) {
							 | 
						||
| 
								 | 
							
								        if (a === 'n')
							 | 
						||
| 
								 | 
							
								            continue;
							 | 
						||
| 
								 | 
							
								        if (a === 'e')
							 | 
						||
| 
								 | 
							
								            continue;
							 | 
						||
| 
								 | 
							
								        data += ' ' + a + '="' + elem[a] + '"';
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (elem.e === undefined || elem.e.length === 0) {
							 | 
						||
| 
								 | 
							
								        data += ' />\n';
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    else {
							 | 
						||
| 
								 | 
							
								        data += '>\n';
							 | 
						||
| 
								 | 
							
								        for (let e of elem.e) {
							 | 
						||
| 
								 | 
							
								            data = printElement(e, data, indents + 1);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        for (let i = 0; i < indents; ++i)
							 | 
						||
| 
								 | 
							
								            data += '\t';
							 | 
						||
| 
								 | 
							
								        data += '</' + elem.n + '>\n';
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return data;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								function writeXml(xml, path) {
							 | 
						||
| 
								 | 
							
								    let data = '';
							 | 
						||
| 
								 | 
							
								    data += '<?xml version="1.0" encoding="utf-8"?>\n';
							 | 
						||
| 
								 | 
							
								    data += '<' + xml.n;
							 | 
						||
| 
								 | 
							
								    for (let a in xml) {
							 | 
						||
| 
								 | 
							
								        if (a === 'n')
							 | 
						||
| 
								 | 
							
								            continue;
							 | 
						||
| 
								 | 
							
								        if (a === 'e')
							 | 
						||
| 
								 | 
							
								            continue;
							 | 
						||
| 
								 | 
							
								        data += ' ' + a + '="' + xml[a] + '"';
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    data += '>\n';
							 | 
						||
| 
								 | 
							
								    for (let e of xml.e) {
							 | 
						||
| 
								 | 
							
								        data = printElement(e, data, 1);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    data += '</' + xml.n + '>\n';
							 | 
						||
| 
								 | 
							
								    fs.outputFileSync(path, data);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.writeXml = writeXml;
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=XmlWriter.js.map
							 |