Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XDocument谷歌移动站点地图标签_C#_Xml_Xml Sitemap - Fatal编程技术网

C# XDocument谷歌移动站点地图标签

C# XDocument谷歌移动站点地图标签,c#,xml,xml-sitemap,C#,Xml,Xml Sitemap,我一直在四处搜索,但似乎找不到关于这个问题的任何信息 如果你去 它说必须将移动标签添加到xml中,才能对其进行正确的爬网。 我的问题在于,我不知道在使用XDocument时如何实际制作这个标记 有人知道怎么写这个标签吗 <mobile:mobile/> 下面是构建元素的代码 private XElement BuildSitemapItem(XNamespace ns) { XElement urlNode = new XElement(ns + "url",

我一直在四处搜索,但似乎找不到关于这个问题的任何信息

如果你去 它说必须将移动标签添加到xml中,才能对其进行正确的爬网。 我的问题在于,我不知道在使用XDocument时如何实际制作这个标记

有人知道怎么写这个标签吗

<mobile:mobile/>
下面是构建元素的代码

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

    return urlNode;
}

我已经在这个问题上纠结了一段时间,希望您能提供帮助。

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


这将输出

您是否尝试过在
urlNode
构造函数中添加
新的XElement(ns+“mobile”)
?虽然它在视觉上与
不同,但它的含义是相同的。
mobile:
前缀只是一个简单的名称空间引用。如果您添加此前缀,它会将其添加到xmlns=“”我不知道它是否仍然相同,我希望它看起来完全相同,除非有人可以验证google不在乎标签的外观。但是谢谢。是的,它会添加
xmlns
,但这不重要;它应该仍然有效。好的,我会让它保持开放一段时间,以获取更多的意见。非常感谢。
private XElement BuildSitemapItem(XNamespace ns)
{
    XElement urlNode = new XElement(ns + "url",
        new XElement(ns +"loc"),
        new XElement(ns + "lastmod")
    );

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