Node.js:如何创建XML文件

don*_*ald 39 javascript node.js ruby-on-rails-3

有没有一种创建XML文件的好方法?例如,像Builder for Rails(或任何其他方式)?

谢谢

Dyl*_*kow 58

看起来xmlbuilder-js库可能会为您执行此操作.如果你安装了npm,你可以npm install xmlbuilder.

它会让你这样做(取自他们的例子):

var builder = require('xmlbuilder');
var doc = builder.create('root');

doc.ele('xmlbuilder')
    .att('for', 'node-js')
    .ele('repo')
      .att('type', 'git')
      .txt('git://github.com/oozcitak/xmlbuilder-js.git') 
    .up()
  .up()
  .ele('test')
    .txt('complete');

console.log(doc.toString({ pretty: true }));
Run Code Online (Sandbox Code Playgroud)

这将导致:

<root>
  <xmlbuilder for="node-js">
    <repo type="git">git://github.com/oozcitak/xmlbuilder-js.git</repo>
  </xmlbuilder>
  <test>complete</test>
</root>
Run Code Online (Sandbox Code Playgroud)

  • @BiruelRick,它会给你一个字符串formattd作为`xml`.您可以使用`fs`模块写入文件.希望这可以帮助 (2认同)

小智 5

对xmlbuilder的最新更改要求将根元素名称传递给 create()

查看工作示例

var builder = require('xmlbuilder');
var doc = builder.create('root')
  .ele('xmlbuilder')
    .att('for', 'node-js')
    .ele('repo')
      .att('type', 'git')
      .txt('git://github.com/oozcitak/xmlbuilder-js.git') 
      .up()
    .up()
  .ele('test')
  .txt('complete')
.end({ pretty: true });
console.log(doc.toString());
Run Code Online (Sandbox Code Playgroud)