Как получить этот результат JSON из XML в узле? используя xml2js - PullRequest
0 голосов
/ 11 сентября 2018

Я получаю ответ xml от сервера, и мне нужно получить то, что находится между и . Я преобразую xml в json с помощью xml2js, но я возвращаю какобъект, а не как строка непосредственно ниже.

xml response (what is in the JSON 'response' below):
...<response><results><result><zpid>21853941</zpid></result></results>...</response>

var xml2js = require('xml2js');
var parser = new xml2js.Parser();

 parser.parseString(body, function(err, result){
          console.log(result);
          console.log('----------------');
          var x = result["SearchResults:searchresults"]["response"] //this works
          //var x = result["SearchResults:searchresults"]["response"]["results"] //this doesn't
          console.log(x);

          x.forEach(function(e){ //this grabs object
              console.log('e: ' +e)
          });

      });

, так что это вывод:

OUTPUT:
result:
 { 'SearchResults:searchresults':
 { '$':
  { 'xsi:schemaLocation': 'http://www.zillow.com/static/xsd/SearchResults.xsd https://www.zillowstatic.com/vstatic/b20c067/static/xsd/SearchResults.xsd',
    'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',
    'xmlns:SearchResults': 'http://www.zillow.com/static/xsd/SearchResults.xsd' },
 request: [ [Object] ],
 message: [ [Object] ],
 response: [ [Object] ] } } // <-need to get what is in here
 ----------------
x:
[ { results: [ [Object] ] } ]

e: [object Object]

Мне нужно взять то, что находится в «ответе».

...