Javascript 在nodejs中创建xml文件

Javascript 在nodejs中创建xml文件,javascript,node.js,Javascript,Node.js,我正在尝试以电子邮件附件的形式发送xml文件 我有一个json,我将从中创建一个xml。我的问题是,我能把一串标记写入一个文件吗?它是一个有效的xml文件吗 我正在考虑像这样使用模板文本() 这仍然是有效的xml文件吗 我正试图使用它生成如下xml: var xml = builder.create('root') .ele('xmlbuilder') .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbui

我正在尝试以电子邮件附件的形式发送xml文件

我有一个json,我将从中创建一个xml。我的问题是,我能把一串标记写入一个文件吗?它是一个有效的xml文件吗

我正在考虑像这样使用模板文本()

这仍然是有效的xml文件吗

我正试图使用它生成如下xml:

   var xml = builder.create('root')
  .ele('xmlbuilder')
    .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git')
  .end({ pretty: true});
但我不知道如何把它写入文件

我可以只使用第一种方法,还是应该使用xmlbuilder?即使第一种方法还可以,有人能告诉我如何将结果写入文件吗

我试过了,但我错了

    <?xml version="1.0"?><root><example0/><example1/><example2/><example3/><example4/><example5/><example6/><example7/><example8/><example9/></root>
TypeError: Cannot read property 'match' of undefined
    at XMLStringifier.assertLegalChar (/Volumes/D/Vue admin node/card91_nodejs_boilerplate/node_modules/xmlbuilder/lib/XMLStringifier.js:209:32)
    at XMLElement.element (/Volumes/D/Vue admin node/card91_nodejs_boilerplate/node_modules/xmlbuilder/lib/XMLNode.js:127:25

TypeError:无法读取未定义的属性“match”
位于xmlstringier.assertLegalChar(/Volumes/D/Vue admin node/card91_nodejs_样板文件/node_modules/xmlbuilder/lib/xmlstringier.js:209:32)
在xmlement.element(/Volumes/D/Vue admin node/card91_nodejs_样板文件/node_modules/xmlbuilder/lib/XMLNode.js:127:25

问题1

我能把一个标签串写进一个文件吗?它是一个有效的xml文件吗

是的,只要XML内容有效就可以。 在您的示例中,可能需要将XML prolog
添加到XML字符串的开头。但是,它是可选的

问题2

我可以只使用第一种方法吗?还是应该使用xmlbuilder?即使第一种方法可以,有人能告诉我如何将其结果写入文件吗

如果XML内容复杂,则应使用xmlbuilder。当调用
end()
函数时,您的文档将转换为字符串。因此,您可以使用第一个问题中的write to file方法创建XML文件

var xml=builder.create('root'))
.ele('xmlbuilder')
.ele('repo',{'type':'git'},'git://github.com/oozcitak/xmlbuilder-js.git')
.end({pretty:true});
file.writeFileSync(“./filesx.xml”),xml,函数(err){
如果(错误)抛出错误;
});
您可以在此处阅读有关xmlbuilder函数的更多信息。

   var xml = builder.create('root')
  .ele('xmlbuilder')
    .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git')
  .end({ pretty: true});
    <?xml version="1.0"?><root><example0/><example1/><example2/><example3/><example4/><example5/><example6/><example7/><example8/><example9/></root>
TypeError: Cannot read property 'match' of undefined
    at XMLStringifier.assertLegalChar (/Volumes/D/Vue admin node/card91_nodejs_boilerplate/node_modules/xmlbuilder/lib/XMLStringifier.js:209:32)
    at XMLElement.element (/Volumes/D/Vue admin node/card91_nodejs_boilerplate/node_modules/xmlbuilder/lib/XMLNode.js:127:25