ASP.NET生成Google网站地图的代码
ASP.NET生成Google网站地图的代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下://////生成google网站地图//////publicstaticboolBuildGoogleSitemap(){...

复制代码 代码如下:

/// <summary>

/// 生成google网站地图

/// </summary>

/// <returns></returns>

public static boolBuildGoogleSitemap()

{

try

{

string RootDirectory = AppDomain.CurrentDomain.BaseDirectory;

XmlTextWriter Writer = new XmlTextWriter(HttpContext.Current.Server.MapPath("~/GoogleSitemaps.xml"), Encoding.GetEncoding("utf-8"));

Writer.Formatting = Formatting.Indented;

Writer.WriteStartDocument();

Writer.WriteStartElement("urlset", "http://www.google.com/schemas/sitemap/0.84");

//遍历扫描网站所有文件

showfiles(RootDirectory, Writer);

Writer.WriteEndElement();

Writer.WriteEndDocument();

Writer.Close();

return true;

}

catch (Exception err)

{

return false;

}

}

//遍历扫描网站所有文件

static void showfiles(string dirpath, XmlTextWriter Writer)

{

bool IsRead = true;

string[] NotRead ={ "App_Data", "Bin", "fckeditor", "js", "MyAdmin", "PowerChatRoom" };//排除这些文件夹

foreach (string s in NotRead)

{

string dirname = dirpath.Substring(dirpath.LastIndexOf(@"") + 1);

if (dirname == s)

{

IsRead = false;

break;

}

}

if (!IsRead)

return;

try

{

DirectoryInfo dir = new DirectoryInfo(dirpath);

foreach (FileInfo f in dir.GetFiles())

{

string path = dir.FullName.Replace(AppDomain.CurrentDomain.BaseDirectory, "");//文件相对目录

//HttpContext.Current.Response.Write(AppDomain.CurrentDomain.BaseDirectory + "**********" + dir.FullName + "<br>");

Writer.WriteStartElement("url");

Writer.WriteStartElement("loc");

StringBuilder sb = new StringBuilder("/" + path + "/" + f.Name);

sb.Replace("//", "/").Replace(@"", "/");

Writer.WriteString(ConfigurationManager.AppSettings["WebSiteUrl"].ToString() + sb.ToString());

Writer.WriteEndElement();

Writer.WriteStartElement("lastmod");

Writer.WriteString(string.Format("{0:yyyy-MM-dd}", f.LastWriteTime));

Writer.WriteEndElement();

Writer.WriteStartElement("changefreq");

Writer.WriteString("always");//更新频率:always:经常,hourly:小时,daily:天,weekly:周,monthly:月,yearly:年

Writer.WriteEndElement();

Writer.WriteStartElement("priority");

Writer.WriteString("0.8");//相对于其他页面的优先权,此值定于0.0 - 1.0之间

Writer.WriteEndElement();

Writer.WriteEndElement();

}

foreach (DirectoryInfo d in dir.GetDirectories())

{

showfiles(d.FullName, Writer);

}

}

catch (Exception) { }

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类