2

私は周りを検索してきましたが、この問題に関する情報が見つからないようです。

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;
}

私はしばらくこの問題に悩まされていたので、助けていただければ幸いです。

4

1 に答える 1

1

XElement (この場合はモバイル) で適切な名前空間を指定するだけです。

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

それは出力します<mobile:mobile/>

于 2013-12-18T10:45:06.413 に答える