首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js xml2js -创建站点地图属性时被忽略

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

Stack Overflow用户
提问于 2019-10-28 20:18:12
回答 1查看 191关注 0票数 0

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

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

代码语言:javascript
复制
'$': {
    'xmlns': 'http://www.sitemaps.org/schemas/sitemap/0.9'
},

..。如下所示:

代码语言:javascript
复制
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的属性不会呈现:

代码语言:javascript
复制
<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>  

..。我期望:

代码语言:javascript
复制
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    ...
</url>  

我遗漏了什么?

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

代码语言:javascript
复制
    'urlset': {
        '$': {
            'test': 'test'
        },

..。它是有效的:

代码语言:javascript
复制
<urlset test="test">
    ...
</url>  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-29 03:31:41

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

我已经复制了你的代码并创建了一个REPL?。

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

单击下面的Run code snippet以查看响应是否具有xml名称空间(您也可以复制代码并在浏览器控制台中运行)

代码语言:javascript
复制
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

代码语言:javascript
复制
fetch("https://periodicbraveclients.nithinthampi.repl.co/").then(res => res.text()).then(xml => console.log(xml))

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58590810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档