使用 C# 更新 xml 站点地图
Updating an xml sitemap with c#
我有一个 google 站点地图。有时我需要更新该站点地图。
我想知道是否有一种方法可以使用 C# 更改站点地图中设置的详细信息。
我可以阅读并创建它,但我想更新它。
我找到的解决方案:
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);
这非常有效。
我有一个 google 站点地图。有时我需要更新该站点地图。 我想知道是否有一种方法可以使用 C# 更改站点地图中设置的详细信息。
我可以阅读并创建它,但我想更新它。
我找到的解决方案:
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);
这非常有效。