简体   繁体   中英

Issues with parsing tags inside an online xml document with node.js

so I'm trying to create an application for the Google Assistant and the data for my application is stored in an online XML, however, I am not sure how I am supposed to extract the specific data that I require from the XML.

I have tried to fix this by indexing the results of the XML parser however I receive either undefined errors or cannot read property errors.

 var eyes = require('eyes');
 var https = require('https');
 var fs = require('fs');
 var xml2js = require('xml2js');
 var parser = new xml2js.Parser({ attrkey: "ball"});

 parser.on('error', function(err) { console.log('Parser error', err); });

 var data = '';
 https.get('https://www.national-lottery.co.uk/results/euromillions/draw-history-full/xml', function(res) {
     if (res.statusCode >= 200 && res.statusCode < 400) {
       res.on('data', function(data_) { data += data_.toString(); });
       res.on('end', function() {
         console.log('data', data);
         parser.parseString(data, function(err, result) {
            toUse = result['draw-results']['game']['balls']['ball'][1];
            console.log(toUse);
            console.log('FINISHED', err, result);
         });
       });
     }
   });

I expect to receive an output of the first ball number called, however, I cannot get the data out other than printing the entire XML.

我得到的输出4的路径result['draw-results'].game[0].balls[0].ball[0]['_']

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM