我怎样才能从XML检索由Node.js的url?

我正在网上抓取。 目前我想要一个网站。 我从robots.txt文件中获得了一个xml文件链接。 现在我想读取该XML的所有url。 但不能做到这一点。 任何人都可以帮我弄清楚吗?

XML格式:

<urlset> <url> <loc>http://www.xxxx.com/</loc> <changefreq>test</changefreq> </url> <url> <loc>http://www.xxxx.com/</loc> <changefreq>test</changefreq> </url> </urlset> 

这是我的代码:

  var fs = require('fs') , flow = require('xml-flow') , inFile = fs.createReadStream(xml_file_url) , xmlStream = flow(inFile) ; xmlStream.on('tag:urlset', function(err,url) { if(err) return console.log(err); console.log(url); res.send('Check your console!') }); 

我想从loc的所有url推他们在一个数组。 我怎么解决这个问题? 提前致谢。

你可以select标签:loc和每个标签推送到数组:

 var fs = require('fs'), flow = require('xml-flow'), http = require('http'); var file = fs.createWriteStream('site.xml'); http.get('http://ajkerdeal.com/sitemap.xml', function(res) { res.on('data', function(data) { file.write(data); }).on('end', function() { file.end(); var inFile = fs.createReadStream("site.xml"), xmlStream = flow(inFile); var array = []; xmlStream.on('tag:loc', function(url) { array.push(url.$text); }); xmlStream.on('end', function(url) { console.log(array); }); }) })