我有一个Google网站地图。有时我需要更新该站点地图。 我想知道是否有一种方法可以使用C#更改站点地图中设置的详细信息。
我可以阅读并创建它,但是我想对其进行更新。
答案 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);
这很好用。