![](/img/trans.png)
[英]Node.js and Express: How to return response after asynchronous operation
[英]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
我看到我的回复如下:
<set id="1" state="0" name="wd"/>
如何正确发送我的 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.