我是否可以在C#中使用lib为我的asp.net网站生成站点地图?
我正在寻找可以插入数据的内容,它会告诉我生成的站点地图是否已达到其限制或文件大小是否已达到限制。然后允许我将其保存为文件
答案 0 :(得分:5)
在这里,您可以根据已准备好的SiteMapUrl对象集合检查我的代码以生成Sitemap.xml:
XNamespace ns = XNamespace.Get("http://www.sitemaps.org/schemas/sitemap/0.9");
XElement urlset = null;
XDocument siteMapDocument = new XDocument(urlset = new XElement(ns + "urlset"));
foreach (var links in siteMap.SiteMapUrls)
{
urlset.Add(new XElement
(ns + "url",
new XElement(ns + "loc",links.Location),
new XElement(ns + "lastmod", DateTime.Now),
new XElement(ns + "changefreq", Enum.GetName(typeof(SiteMapUrlChangeFreqs), links.ChangeFreq)),
new XElement(ns + "priority", "0.2")
));
}
siteMapDocument.Save(String.Format("{0}\\{1}",AppDomain.CurrentDomain.BaseDirectory,"SiteMap.xml"));
答案 1 :(得分:2)
您的意思是SiteMap类吗?
答案 2 :(得分:2)
Maybe mine? :)
您可以find here使用和下载文件的一些示例。查找SiteMap Generator部分。
答案 3 :(得分:1)
AFAIK没有你想做什么的libs(根据你的评论判断)。但是,您可以使用.net xml包装到您自己的类中来生成它。它不应该是困难的。您还应该考虑ascii字符和4个字节的中断(\ r为2,\ n为n)。
答案 4 :(得分:0)
使用ASP.NET时,有必要澄清您是在讨论ASP.NET站点地图(用于站点导航)还是搜索引擎站点地图。
如果您指的是搜索引擎站点地图,请查看http://www.blackbeltcoder.com/Articles/asp/dynamic-sitemaps-in-asp-net上的文章。它提供了执行您想要的代码。