关于javascript:在Node.js中保存XML文件

Saving XML filen in Node.js

本问题已经有最佳答案,请猛点这里访问。

我刚开始探索node.js,因为我计划很快使用node.js来完成一个项目。我更喜欢将我的项目数据保存在XML文件中,因为我正在为node.js寻找模块或库,以便保存、编辑、检索和转换XML数据。在研究这个问题时,我遇到了xml2js、xmlbuilder、sax、node xml和data2xml for node.js等模块,但这些模块都不允许将修改后的xml存储回xml文件。

我们使用$xml->asXML("file.xml")在php中保存一个XML文件,我正在node.js中寻找一种替代方法。


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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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!");
    }
  }
);