Reputation: 5299
I want to response this using node.js and express:
<set id="1" state="0" name="wd"/>
I tried:
xml = require('xml');
res.set('Content-Type', 'text/xml');
res.send(xml('<set id="1" state="0" name="wd"/>'));
But in Wireshark
i see that my response looks:
<set id="1" state="0" name="wd"/>
How to send my xml correctly?
Upvotes: 4
Views: 8223
Reputation: 2219
In ExpressJs Simply add the content-type and send a valid XML document as the xmlContent
response.type('application/xml')
response.send(xmlContent)
Upvotes: 0
Reputation: 6782
xml
package converts JS objects to xml (and you are passing a stringified xml). Not what you need. You need to parse the string containing xml to get actual xml data using libxmljs
.
I would try this:
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);
Upvotes: 4
Reputation: 1012
Try removing xml()
function. If you set Content-type
, the server would send response as xml.
Upvotes: 1