来自ContentResult的ASP.NET MVC Google Sitemap - 名称空间不正确

时间:2010-02-15 18:50:57

标签: asp.net asp.net-mvc sitemap

我创建了一个由ContentResult生成的站点地图,但Google一直告诉我我的命名空间不正确。有什么想法吗?

我的代码:

public ContentResult Index()
    {
        //Build RSS for sitemap
        XNamespace ns = "http://www.sitemaps.org/schemas/sitemap/0.9";
        const string url = "http://www.openarmssoberliving.com/{0}";
        var encoding = Response.ContentEncoding.WebName;
        var items = _pagesRepos.Pages.OrderBy(p => p.Id).ToList();
        items.Add(new Page { Title = "Contact Us", Slug = "ContactUs", LastModified = items[0].LastModified });
        var sitemap = new XDocument(new XDeclaration("1.0", encoding, null),
            new XElement(ns + "urlset",
                from item in items
                select
                new XElement(ns + "url",
                    new XElement(ns + "loc", string.Format(url, (item.Id != 1) ? item.Slug : "")),
                    new XElement(ns + "lastmod", String.Format("{0:yyyy-MM-dd}", item.LastModified)),
                    new XElement(ns + "changefreq", "monthly"),
                    new XElement(ns + "priority", "0.5")
                  )
                )
              );
        return Content("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + sitemap, "text/xml");
    }

输出:http://www.openarmssoberliving.com/Sitemap

错误:第2行。您的Sitemap或Sitemap索引文件未正确声明命名空间。

1 个答案:

答案 0 :(得分:0)

似乎Google现在喜欢我的Feed。原始代码有效。