在节点中为xml模板化ejs

roc*_*rld 1 xml ejs node.js

我有一个结构良好的大型xml,我想要像ejs那样的模板.

<foo>
  <url><%= url %></url>
<foo>
Run Code Online (Sandbox Code Playgroud)

但如果我这样做

res.render('template.xml', { url: 'http://foo.com' })
Run Code Online (Sandbox Code Playgroud)

我正进入(状态

Error: Cannot find module 'xml'
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议如何处理它?我只需要在已经形成的xml中插入值,我不希望通过模式将对象序列化为xml.

van*_*m23 5

回答我的评论.所有模板文件都应具有ejs扩展名,以便快递能够找到它,因此您需要将模板重命名template.xmltemplate.ejs.代码示例如下所示:

res.render('template', { url: 'http://foo.com' })
Run Code Online (Sandbox Code Playgroud)

可能需要为客户端设置HTTP标头:

res.setHeader('content-type', 'text/xml');
Run Code Online (Sandbox Code Playgroud)