Как ответить XML с помощью node.js express? - PullRequest
1 голос
/ 12 мая 2019

Я хочу ответить на это, используя 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?

Ответы [ 2 ]

2 голосов
/ 12 мая 2019

xml пакет преобразует объекты JS в xml (и вы используете строку).Вам нужно проанализировать строку, содержащую xml, чтобы получить фактические данные xml.

Я бы попробовал это:

const libxmljs = require("libxmljs");


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

res.set('Content-Type', 'text/xml');
res.send(xmlDoc);
0 голосов
/ 12 мая 2019

Попробуйте удалить функцию xml().Если вы установите Content-type, сервер отправит ответ в виде xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...