Node.jsでXMLを生成する
2021/04/20
sitemap.xml
を自動で生成するためにNode.jsで生成する。
node-xml2js
node.jsでXMLをパースしたり生成することができるライブラリ。
npm install xml2js
使用例
new xml2js.Builder().buildObject(obj)
を使用するとObjectからXMLを生成することができる。
const xml2js = require('xml2js');
const builder = new xml2js.Builder();
const urls = ["site1","site2","site3"];
const sitemap = {
urlset:{
$:{
"xmlns": "http://www.sitemaps.org/schemas/sitemap/0.9"
},
url:[]
}
};
urls.forEach(
(v)=>{
sitemap.urlset.url.push({
loc:v
})
}
);
var xml = builder.buildObject(sitemap);
console.log(xml);
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>site1</loc>
</url>
<url>
<loc>site2</loc>
</url>
<url>
<loc>site3</loc>
</url>
</urlset>
fileに書き出す
const fs = require('fs');
を使用する。
const xml2js = require('xml2js');
const builder = new xml2js.Builder();
const obj = {name: "Super", Surname: "Man", age: 23};
const xml = builder.buildObject(obj);
fs.writeFileSync(`hoge.xml`,xml,(err)=>{
if(err) console.log(err);
});