var xml = require('XML-Parser-master');
const fs = require('fs');
var responseString = 'html string';
var finalString="";
var xmlDoc = new xml.DOM(xml.parse(responseString));
const items =xmlDoc.document.getElementsByTagName("item");
for (var i = 0; i < items.length ; i++) {
const item = items[i];
var name = (item.getElementsByTagName("name")[0]),
status = (item.getElementsByTagName('status')[0]),
device = (item.getElementsByTagName('device')[0]),
probe = (item.getElementsByTagName('probe')[0]),
message_raw = (item.getElementsByTagName('message_raw')[0]);
finalString += "Il sensore "+name+ ", sul server "+device+ " del "+probe+ " è nello stato"+status+". Il messaggio di errore è: "+ message_raw+". ";
}
});
res.on('end', function(res)
{
const speechOutput = finalString;
console.log("==> Answering: ",speechOutput);
mythis.emit(':tell', speechOutput);
});
Проблема в том, что он возвращает «[объект объекта]», когда ему нужно добавить другую строку для имени, статуса, устройства, зонда и message_raw. Пример:
il sensore [объект Object], сервер sul [объект Object] del [объект Object] и nello stato [объект Object]. Il messaggio di errore è: undefined. "}
используется синтаксический анализатор: https://github.com/MauriceConrad/XML-Parser#readme