2014-11-24 33 views
2

我刚刚开始探索Node.js,因为我打算很快使用Node.js处理项目。我更喜欢将我的项目数据保存在XML文件中,因为我们正在寻找Node.js的模块或库,以方便保存,编辑,检索和转换XML数据。在对此进行研究时,我遇到了像Node.js的xml2js,xmlbuilder,sax,node-xml和data2XML等模块,但它们都不允许将修改的XML存储回XML文件。在Node.js中保存XML文件

我们使用$xml->asXML("file.xml")在PHP中保存XML文件,我正在寻找Node.js中的替代方案。

回答

3

XMLDOM这样的DOM实现有一个XMLSerializer类(大多数浏览器也有)。这是DOM API标准的一部分。

它允许将DOM文档/节点序列化为字符串。您可以使用fs模块将字符串保存在文件中。

var fs = require('fs'); 
var serializer = new (require('xmldom')).XMLSerializer; 
var implementation = new (require('xmldom')).DOMImplementation; 

var document = implementation.createDocument('', '', null); 
document.appendChild(document.createElement('foo')); 

fs.writeFile(
    "/tmp/test.xml", 
    serializer.serializeToString(document), 
    function(error) { 
    if (error) { 
     console.log(error); 
    } else { 
     console.log("The file was saved!"); 
    } 
    } 
);