Node.js 从网站的sitemap.xml获取指向specific.xml的链接

Node.js 从网站的sitemap.xml获取指向specific.xml的链接,node.js,xml,web-scraping,Node.js,Xml,Web Scraping,我有一个网站sitemap.xml,结构如下: <?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>https://www.example.com/sitemap/Mai

我有一个网站sitemap.xml,结构如下:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <sitemap>
            <loc>https://www.example.com/sitemap/Main-8531739688368880386.xml</loc>
        </sitemap>
    <sitemap>
            <loc>https://www.example.com/sitemap/Product-8073944469920756310.xml</loc>
        </sitemap>
    </sitemapindex>

https://www.example.com/sitemap/Main-8531739688368880386.xml
https://www.example.com/sitemap/Product-8073944469920756310.xml
我只有在加载后才能获得上面的sitemap.xml。我希望在sitemapindexed项目不断更改时将其保存在那里,从而在加载后抓取
标记,以便我可以使用那里的Product-8073944469920756310.xml链接


有什么解决方案吗?

如果我理解正确,您可以使用xpath获取它。例如:

let
     xpath = require('xpath'), 
     dom = require('xmldom').DOMParser,
     xml = `your xml above`,
     doc = new dom().parseFromString(xml),
     nodes = xpath.select("//*[local-name()='loc']/text()", doc)
console.log(nodes[1].data)
输出:

https://www.example.com/sitemap/Product-8073944469920756310.xml

问题是我在加载example.com/sitemap.xml后得到了xml。在那里索引的站点地图总是在不断变化。所以我需要先加载example.com/sitemap.xml,然后从那里获取这些位置。(更新了主要问题以澄清问题。)@XenaDAux答案假设您加载了xml字符串(与原始问题一样)。如何从url获取xml——这是一个不同的问题,可能应该单独发布。例如,请参见,只有将整个xml粘贴为静态时,此解决方案才会起作用。我需要访问example.com/sitemap.xml链接,然后尽可能通过无头浏览器进行操作。因为那里的项目一直在更新。ty需要帮助。我先用Puppeter抓取页面,然后用输出为字符串的xml,我可以使用这个片段来解析它。谢谢你的帮助。