9.xml2js生成站点地图

一、问题描述

一般网站为了能让搜索引擎快速索引到一个网站的所有文章,会自己建立一个站点地图,里面包含了本站的所有文章链接。

站点地图大多数情况下使用以下两种格式:

  1. txt格式:每一行都是一个页面链接
  2. xml格式:每一个url节点包含一个链接相关信息

tx格式的比较简单,这种重点讲解一下xml格式的生成方法

二、解决方案

我使用的xml2js这个库,它可以很方便的完成xml文档的生成。

可以通过npm进行安装:

npm install xml2js

安装完成后,通过下面这段代码完成站点地图的生成:

import xml2js from 'xml2js'
var builder = new xml2js.Builder({
    rootName:'urlset',
    xmldec:{
        'version':'1.0',
        'encoding':'UTF-8'
    }
});

let urls=[]; //存放所有需要保存到站点地图的链接

let xml_obj = {
    $:{xmlns:"http://www.sitemaps.org/schemas/sitemap/0.9"},
    url:[]
};
for (let i = 0; i < urls.length; i++) {
    xml_obj.url.push({
        loc:urls[i],
        lastmod:'填入最后一次修改该链接文章的日期,格式为:yyyy-MM-dd'
    })
}

let sitemap=builder.buildObject(xml_obj);

这里的sitemap就是生成好的内容,可以将其保存为文本文件、或者直接在路由中以纯文本格式返回均可。

作者:余识
全部文章:0
会员文章:0
总阅读量:0
c/c++pythonrustJavaScriptwindowslinux