我一直在搜索,并想出了一些很好的答案,但是我的任务的最后一个小细节,我一直无法找到解决方案。
我有一个包含以下函数的 Node.js 实现。这个函数的重点是改变服务器上一个xml文件的一些设置。到目前为止,我认为我已经完成了几乎所有工作,但我不知道如何让处理后的 xml 字符串写回文件。
$data
是来自 POST 的 JSON 对象。
function SaveSettings() {
fs.readFile('config.xml', function (err, data) { //Read the XML file to a string
if(err) {throw err;} //If and error, throw error
var $xml = $(data.toString()).find('settings').each(function () { //Process XML
$(this).find('background > color').text($data.backgroundColor);
$(this).find('background > image').text($data.backgroundImage);
if($data.startupEnabled === "on") {
$(this).find('startup > enabled').text("true");
} else {
$(this).find('startup > enabled').text("false");
}
if($data.splashEnabled === "on") {
$(this).find('startup > splash > enabled').text("true");
} else {
$(this).find('startup > splash > enabled').text("false");
}
$(this).find('startup > splash > image').text($data.splashImage);
$(this).find('security > password').text($data.password);
});
console.log($xml.toString()); //Contains the output of the jQuery object (Not XML)
fs.writeFile('config.xml', data.toString(), function (err) {
if(err) {throw err;}
}); //data.toString() contains the original XML, unmodified.
});
...
}
我知道这可以用其他语言完成,但我真的很想要一个 Node.js 解决方案。此外,我确实在实现中加载了jstoxml
模块和模块。jquery