【发布时间】:2017-12-25 21:37:36
【问题描述】:
我有properties File,我想使用node.js将其转换为XML。我不知道如何转换,请帮助我
【问题讨论】:
-
编写自己的解析器来解析node.js中的properties文件并转换成xml。
标签: node.js xml properties-file
我有properties File,我想使用node.js将其转换为XML。我不知道如何转换,请帮助我
【问题讨论】:
标签: node.js xml properties-file
const builder = require('xmlbuilder');
const fs = require('fs');
const path = require('path');
const PROPS_FILE = //PROPS_FILE_PATH;
const XML_FILE = //XML_FILE_PATH;
let xml = builder.create('resources');
let readFromPropsFile = function(){
let promise = new Promise(function(resolve, reject){
console.log(PROPS_FILE);
const readline = require('readline');
const rl = readline.createInterface({
input: fs.createReadStream(path.resolve(__dirname,PROPS_FILE))
});
rl.on('line', (line) => {
let keyValuePair = line.split('=');
// converting key valur to XML
convertToXML(keyValuePair[0], keyValuePair[1]);
});
rl.on('error', function(e) {
console.log(e);
reject(e);
// something went wrong
});
rl.on('close', function(line){
console.log(`done reading file ${PROPS_FILE}.`);
resolve();
})
});
return promise;
};
let convertToXML= function(key, value){
xml.ele('string', {'name': `${key}`}, `${value}`);
};
let writeInToXMLFile = function(){
let promise = new Promise(function(resolve, reject){
fs.writeFile(path.resolve(__dirname,XML_FILE) , xml, function (error) {
if (error) {
console.error(error);
reject(new Error(error));
} else {
console.log(`file ${XML_FILE} saved `);
resolve();
}
});
});
return promise;
}
readFromPropsFile()
.then(writeInToXMLFile)
.catch((err)=>{ console.log(err) });
【讨论】: