Я создаю навык Alexa, используя функцию Lambda, которая обслуживает данные через веб-сервис.Веб-сервис возвращает данные XML, поэтому я использую xml2js (который поддерживается).
Возвращенный XML выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<DailySummary>
<day dayOfWeek="Sunday" Date="04/22/2018" attribute1="test1" attribute2="test3" />
</DailySnapshot>
Как получить доступ к атрибутам элемента?
В файле index.js я добавил следующий код в
'use strict';
exports.handler = (event, context, callback) => {
var parseString = require('xml2js').parseString;
var extractedData = "";
var xml = '<?xml version="1.0" encoding="utf-8"?><DailySummary><day dayOfWeek="Sunday" Date="04/22/2018" attribute1="test1" attribute2="test3" /> </DailySnapshot>';
parseString(xml, function (err, result)
{
if(err) throw err;
extractedData = result['DailySummary']['day'][0].$.type
});
callback(null,extractedData);
};
Я получаю сообщение об ошибке:
Function Logs:
START RequestId: b9c528f7-5cfc-11e8-a617-211b3668a43f Version: $LATEST
2018-05-21T13:41:56.667Z b9c528f7-5cfc-11e8-a617-211b3668a43f Error: Unexpected close tag
Line: 0
Column: 153
Я новичок в node.jsПрошу прощения за мое невежество и заранее благодарю за помощь.