gpt4 book ai didi

javascript - Node.js xml2js - 创建站点地图属性时被忽略

转载 作者:行者123 更新时间:2023-12-02 22:40:54 25 4
gpt4 key购买 nike

我正在使用 node.js 和 xml2js 创建 xml sitemap.xml。

看起来一切都很好,但是当我想定义属性时,例如:

'$': {
'xmlns': 'http://www.sitemaps.org/schemas/sitemap/0.9'
},

...像这样:

var obj = {
'urlset': {
'$': {
'xmlns': 'http://www.sitemaps.org/schemas/sitemap/0.9'
},
'url': [
{
'loc': URL_DOMAIN,
'changefreq': 'monthly',
'priority': 1
},
{
'loc': URL_DOMAIN+'/data-privacy',
'changefreq': 'monthly',
'priority': 0.5
}
]
}
};

var builder = new xml2js.Builder({ xmldec: {'version': '1.0', 'encoding': 'UTF-8'} });
var xml = builder.buildObject(obj);

res.header('Content-Type','text/xml').send(xml)

... urlset 的属性不会呈现:

<urlset>
<url>
<loc>http://127.0.0.1:2000</loc>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>http://127.0.0.1:2000/data-privacy</loc>
<changefreq>daily</changefreq>
<priority>0.5</priority>
</url>
</url>

...我期望:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
...
</url>

我错过了什么?

...如果我做一个测试:

    'urlset': {
'$': {
'test': 'test'
},

...它有效:

<urlset test="test">
...
</url>

最佳答案

这不是一个答案,而是试图证明OP的代码是有效的。

我已复制您的代码并创建了 REPL 👇。

https://repl.it/@nithinthampi/PeriodicBraveClients .

点击下面的运行代码片段可以看到响应确实具有 xml 命名空间(您也可以复制代码并在浏览器控制台中运行)

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

fetch("https://periodicbraveclients.nithinthampi.repl.co/").then(res => res.text()).then(xml => console.log(xml))

可能与浏览器有关。下面是我的浏览器截图。

This is what I see in browser

关于javascript - Node.js xml2js - 创建站点地图属性时被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58590810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com