【发布时间】:2011-11-09 06:25:12
【问题描述】:
有没有创建 XML 文件的好方法?例如,像 Builder for Rails(或任何其他方式)?
谢谢
【问题讨论】:
标签: javascript ruby-on-rails-3 node.js
有没有创建 XML 文件的好方法?例如,像 Builder for Rails(或任何其他方式)?
谢谢
【问题讨论】:
标签: javascript ruby-on-rails-3 node.js
看起来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 }));
这将导致:
<root>
<xmlbuilder for="node-js">
<repo type="git">git://github.com/oozcitak/xmlbuilder-js.git</repo>
</xmlbuilder>
<test>complete</test>
</root>
【讨论】:
xml的字符串。您可以使用fs 模块写入文件。希望这会有所帮助
最近对 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());
【讨论】:
xmlbuilder 已停产并由xmlbuilder2 取代,它已从头开始重新设计,以完全符合modern DOM specification。
使用npm 安装xmlbuilder2:
npm install xmlbuilder2
一个例子,来自他们的主页,用它创建一个新的 XML 文件:
const { create } = require('xmlbuilder2');
const root = create({ version: '1.0' })
.ele('root', { att: 'val' })
.ele('foo')
.ele('bar').txt('foobar').up()
.up()
.ele('baz').up()
.up();
// convert the XML tree to string
const xml = root.end({ prettyPrint: true });
console.log(xml);
将导致:
<?xml version="1.0"?>
<root att="val">
<foo>
<bar>foobar</bar>
</foo>
<baz/>
</root>
【讨论】: