Получение вложенных элементов ответа SOAP XML с помощью Nodejs - PullRequest
0 голосов
/ 23 декабря 2018

Я пытаюсь получить такие элементы, как fromDate, toDate, beenViewed и т. Д., Но выдает ошибку типа

Невозможно прочитать свойство '0' из неопределенного

Чтоя делаю не так?Как я могу получить эти значения?Я хотел бы иметь массив или переменную этих элементов, чтобы я мог использовать их позже в моей программе.Вот мой код:

const axios = require('axios');
const {parseString} = require('xml2js');
const {apiKey, baseURL} = require('../config/apiKeys.js');

const xmlBody = `xml body with ${apiKey}`;
axios.post(
baseURL,
xmlBody,
{
headers: {
  'Content-Type': 'text/xml'
}
}
)
.then(response => {
 parseString(response.data, (err, parsed) => {
 parsed['SOAP-ENV:Envelope']['SOAP-ENV:Body'][0]['ns1:wsdlGetLeaveApplicationsV2Response'][0]['return'][0]['leaveApplications'][0]['item'];
var qid = parsed.id[0]._;
console.log(qid);
//console.log(JSON.stringify(parsed, undefined, 1));
})
}).catch(err => {
console.log(`Error:${err}`);
});

JSON.stringify(parsed, undefined, 1); //gives the following response: 

[
{
"$": {
"xsi:type": "tns:LeaveApplicationV2"
},
"id": [
{
 "_": "122",
 "$": {
 "xsi:type": "xsd:int"
 }
}
],
"header": [
{
"$": {
 "xsi:type": "xsd:string"
 }
}
],
"bodytext": [
{
"_": "sdfsfsaf",
"$": {
 "xsi:type": "xsd:string"
 }
}
],
,
"beenViewed": [
 {
 "_": "2",
 "$": {
 "xsi:type": "xsd:int"
 }
}
],
"fromDate": [
{
"_": "2019-01-21",
"$": {
 "xsi:type": "xsd:date"
}
}
],
"toDate": [
{
"_": "2019-01-22",
"$": {
 "xsi:type": "xsd:date"
 }
}
 ],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...