Обновление XML-карты сайта с помощью C # - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть карта сайта Google. Иногда мне нужно обновить эту карту сайта. Мне было интересно, если есть способ использовать C #, чтобы изменить детали того, что установлено в карте сайта.

Я могу прочитать и создать его, но я бы хотел его обновить.

1 Ответ

0 голосов
/ 19 ноября 2018

Решение, которое я нашел:

XDocument sitemap = XDocument.Load(file.FullName);
                    List<XElement> siteElements = (from site in sitemap.Root.Elements(xmlNs + "url")
                                            where ((string)site.Element(xmlNs + "loc") ?? string.Empty).EndsWith(test.Btw.ToString())
                                            select site).ToList();
foreach (var siteElement in siteElements)
{
    siteElement.ReplaceWith(
        new XElement(xmlNs + "url",
            new XElement(xmlNs + "loc",
                string.Format(CultureInfo.InvariantCulture,
                "{0}{1}", test.Taal == EnumTaal.Nl ? NlDomain : FrDomain,
                test.ToCompanyVat())),
            new XElement(xmlNs + "lastmod", string.Format("{0}", test.LastMod)),
            new XElement(xmlNs + "priority", "0.5")
            )
        );
    }

    sitemap.Save(file.FullName);

Это прекрасно работает.

...