从sitemap xml中删除节点

时间:2015-03-05 15:06:02

标签: c# sitemap mvcsitemapprovider google-sitemap

我的网站地图格式如下。 我想删除一个完整的节点 我找到了。 例如:

节点的<loc>值为http://www.my.com/en/flight1。 我想删除<url>节点和他的孩子 我想删除loclastmod而不是priority而不是changefreq

<url>
<loc>http://www.my.com/en/flight1
</loc>
<lastmod>2015-03-05</lastmod>
<priority>0.5</priority>
<changefreq>never</changefreq>
</url>


<url>
<loc>
http://www.my.com/en/flight2
</loc>
<lastmod>2015-03-05</lastmod>
<priority>0.5</priority>
<changefreq>never</changefreq>
</url>


<url>
<loc>
http://www.my.com/en/flight3
</loc>
<lastmod>2015-03-05</lastmod>
<priority>0.5</priority>
<changefreq>never</changefreq>
</url>

1 个答案:

答案 0 :(得分:1)

如果你正在使用C#,你应该使用System.xml.linq(XDocument)

您可以删除如下节点:

XDocument.Load(/*URI*/);

var elements = document.Root.Elements().Where(e => e.Element("loc") != null && e.Element("loc").Value == "http://www.my.com/en/flight1");
foreach (var url in elements)
{
    url.Remove();
}