繁体   English   中英

如何使用 node.js express 响应 XML?

[英]How to response XML with node.js express?

我想使用 node.js 对此做出回应并表示:

<set id="1" state="0" name="wd"/>

我试过:

xml = require('xml');

res.set('Content-Type', 'text/xml');
res.send(xml('<set id="1" state="0" name="wd"/>'));

但在Wireshark我看到我的回复如下:

&lt;set id=&quot;1&quot; state=&quot;0&quot; name=&quot;wd&quot;/&gt;

如何正确发送我的 xml?

xml包将 JS 对象转换为 xml(并且您正在传递一个字符串化的 xml)。 不是你需要的。 您需要解析包含 xml 的字符串以使用libxmljs获取实际的 xml 数据。

我会试试这个:

const libxmljs = require("libxmljs");


let stringifiedXml = '<set id="1" state="0" name="wd"/>';
let xmlDoc = libxmljs.parseXml(stringifiedXml);

res.set('Content-Type', 'text/xml');
res.send(xmlDoc);

尝试删除xml()函数。 如果您设置Content-type ,服务器会将响应作为 xml 发送。

在 ExpressJs 中只需添加内容类型并发送一个有效的 XML 文档作为 xmlContent

response.type('application/xml')
response.send(xmlContent)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM