Parsing xml response data with Nodejs

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ns2:urlset xmlns:ns2="http://www.sitemaps.org/schemas/sitemap/0.9" hc="a3">
  3. <url>
  4. <loc>http://www.flipclub.com/</loc>
  5. <lastmod>2015-06-09</lastmod>
  6. <changefreq>daily</changefreq>
  7. <priority>1.0</priority>
  8. </url>
  9. <url>
  10. <loc>http://www.flipclub.com/flashcard/46/3rd-Grade:-Ancient-Rome-Flashcards</loc>
  11. <lastmod>2015-06-09</lastmod>
  12. <changefreq>daily</changefreq>
  13. <priority>1.0</priority>
  14. </url>
  15. <url>
  16. <loc>http://www.flipclub.com/flashcard/47/7th-Grade:-Social-Studies-Flashcards</loc>
  17. <lastmod>2015-06-09</lastmod>
  18. <changefreq>daily</changefreq>
  19. <priority>1.0</priority>
  20. </url>
  21. <url>
  22. <loc>http://www.flipclub.com/flashcard/1068/ACT-English-Game-Set-2-Flashcards</loc>
  23. <lastmod>2015-06-09</lastmod>
  24. <changefreq>daily</changefreq>
  25. <priority>1.0</priority>
  26. </url>
  27. <url>
  28. <loc>http://www.flipclub.com/flashcard/1070/ACT-Exam-Math-Game-Set-1-Flashcards</loc>
  29. <lastmod>2015-06-09</lastmod>
  30. <changefreq>daily</changefreq>
  31. <priority>1.0</priority>
  32. </url>
  33. <url>
  34. <loc>http://www.flipclub.com/flashcard/1069/ACT-Exam-Science-Game-Set-1-Flashcards</loc>
  35. <lastmod>2015-06-09</lastmod>
  36. <changefreq>daily</changefreq>
  37. <priority>1.0</priority>
  38. </url>
  39. </ns2:urlset>
Sample Parsed Output:-

http://flipclub.com/
http://flipclub.com/flashcard/46/3rd-Grade:-Ancient-Rome-Flashcards
http://flipclub.com/flashcard/47/7th-Grade:-Social-Studies-Flashcards
http://flipclub.com/flashcard/1068/ACT-English-Game-Set-2-Flashcards
http://flipclub.com/flashcard/1070/ACT-Exam-Math-Game-Set-1-Flashcards
http://flipclub.com/flashcard/1069/ACT-Exam-Science-Game-Set-1-Flashcards

Codes:-
  1. var url = "http://flipclub.com/sitemap.xml";//get xml from sample sitemap.xml
  2. var http = require("http");
  3. var parseString = require('xml2js').parseString;//make sure you have installed xml2js with "npm install xml2js"
  4. var req = http.get(url, function(res) {
  5. // save the data
  6. var xml = '';
  7. res.on('data', function(chunk) {
  8. xml += chunk;
  9. });
  10. res.on('end', function() {
  11. parseString(xml, function(err, result) {
  12. var items = result['ns2:urlset']['url'];
  13. items.forEach(function(entry) {
  14. console.log(entry['loc'][0]);
  15. });
  16. });
  17. });
  18. });
  19. req.on('error', function(err) {
  20. // debug
  21. console.log(err);
  22. });

No comments:

Post a Comment