Я искал, но я не могу найти никакой информации по этой проблеме.XDocument google mobile sitemap tag
Если вы переходите к https://support.google.com/webmasters/answer/34648 , то говорится, что необходимо добавить в ваш XML-тег мобильный тег, чтобы он сканировался должным образом. Моя проблема заключается в том, что я понятия не имею, как на самом деле сделать этот тег при использовании XDocument.
Кто-нибудь знает, как acutally написать этот тег
<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;
}
Я застрял в этом вопросе на некоторое время, так что любая помощь будет оценили.
Вы пробовали просто добавить 'новый XElement (нс +«мобильный») 'внутри вашего конструктора' urlNode'? Хотя это не визуально не отличается от ' ', это будет означать одно и то же. Префикс «mobile:» - это просто короткая ссылка на пространство имен. –
Если вы добавите это, он добавит его в xmlns = "" Я не знаю, будет ли он по-прежнему тем же, тогда я бы предпочел, чтобы он выглядел точно так же, если кто-то не может проверить, что google все равно, как выглядит тег как. Но спасибо. –
Да, он добавит 'xmlns', но это не имеет значения; он все равно должен работать одинаково. –