Javascript 在nodejs中创建xml文件
我正在尝试以电子邮件附件的形式发送xml文件 我有一个json,我将从中创建一个xml。我的问题是,我能把一串标记写入一个文件吗?它是一个有效的xml文件吗 我正在考虑像这样使用模板文本() 这仍然是有效的xml文件吗 我正试图使用它生成如下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
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