【问题标题】:How to convert properties file to xml node.js如何将属性文件转换为 xml node.js
【发布时间】:2017-12-25 21:37:36
【问题描述】:

我有properties File,我想使用node.js将其转换为XML。我不知道如何转换,请帮助我

【问题讨论】:

  • 编写自己的解析器来解析node.js中的properties文件并转换成xml。

标签: node.js xml properties-file


【解决方案1】:
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) });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    相关资源
    最近更新 更多