Sitemap中的名称空间不正确



我在谷歌搜索控制台得到这个错误。我试了很多方法,但都没用。任何建议,如果我错过了什么。

说明:您的Sitemap或Sitemap索引文件没有正确声明名称空间。

示例:您的Sitemap或Sitemap索引文件没有声明预期的名称空间:http://www.sitemaps.org/schemas/sitemap/0.9标签:urlset

这是我在站点地图上看到的:

<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns:Xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

My Code:

public XmlSitemapResult(IEnumerable<ISitemapItem> items)
        {
            _items = items;
        }
        public override void ExecuteResult(ControllerContext context)
        {
            string encoding = context.HttpContext.Response.ContentEncoding.WebName;
            XDocument sitemap = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
                 new XElement("urlset", new XAttribute(XNamespace.Xmlns.GetName("Xmlns"), "http://www.sitemaps.org/schemas/sitemap/0.9"),
                      from item in _items
                      select CreateItemElement(item)
                      )
                 );
            context.HttpContext.Response.ContentType = "text/xml";
            context.HttpContext.Response.Flush();
            context.HttpContext.Response.Write(sitemap.Declaration + sitemap.ToString());
        }

我想我知道问题是什么,试着从urlset标签中删除Xmlns。示例XML站点地图:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>http://www.example.com/</loc>
      <lastmod>2005-01-01</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>
</urlset> 

字体:http://www.sitemaps.org/protocol.html

最新更新