使用C#更新xml网站地图

时间:2018-11-19 10:46:02

标签: c# xml sitemap

我有一个Google网站地图。有时我需要更新该站点地图。 我想知道是否有一种方法可以使用C#更改站点地图中设置的详细信息。

我可以阅读并创建它,但是我想对其进行更新。

1 个答案:

答案 0 :(得分:0)

我找到的解决方案:

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

这很好用。