XDocument google移动站点地图标记

时间:2013-12-17 14:04:33

标签: c# xml sitemap google-sitemap

我一直在寻找,但我似乎无法找到有关此问题的任何信息。

如果你去https://support.google.com/webmasters/answer/34648 它说必须将移动标签添加到您的xml中才能正确抓取它。 我的问题在于我不知道在使用XDocument时如何实际制作这个标签。

有谁知道如何实际写这个标签

<mobile:mobile/>

使用XElement标签?

我有以下生成文档的代码

XNamespace sitemap = XNamespace.Get("http://www.sitemaps.org/schemas/sitemap/0.9");
XNamespace mobile = XNamespace.Get("http://www.google.com/schemas/sitemap-mobile/1.0");

XDocument doc = new XDocument(
    new XDeclaration("1.0", "utf-8", null),
    new XElement(sitemap + "urlset",
      new XAttribute(XNamespace.Xmlns + "mobile", mobile))
);

以及以下构建元素的代码

private XElement BuildSitemapItem(XNamespace ns)
{
    XElement urlNode = new XElement(ns + "url",
        new XElement(ns +"loc"),
        new XElement(ns + "lastmod")
    );

    return urlNode;
}

我一直坚持这个问题,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

您只需在XElement上指定正确的命名空间(在本例中为mobile)

XNamespace mobileNs = "http://www.google.com/schemas/sitemap-mobile/1.0";
new XElement(mobileNs + "mobile")

这将输出<mobile:mobile/>