Sitemap中的名称空间不正确

问题描述:

我在Google搜索控制台上收到此错误。我尝试了一堆东西,但没有任何工作。任何建议,如果我失去了一些东西。Sitemap中的名称空间不正确

描述:您的站点地图或站点地图索引文件未正确声明名称空间。

例如:您的站点地图或站点地图索引文件未声明预期的命名空间:http://www.sitemaps.org/schemas/sitemap/0.9 标签:网址设定

这是我看到的网站地图:

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

我的代码:

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()); 
     } 
+0

你已经尝试过改变http://www.sitemaps.org/schemas/sitemap/0.9 http://www.google.com /schemas/sitemap/0.9? – 2016-10-10 18:27:12

我想我知道什么问题尝试从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

+0

你的意思是我的“Xmlns”吧? –

+0

是的,就是这样。 – 2016-10-10 18:48:17

+0

好的,我会试一试。所以让它像这样吧?