ASP.NET生成Google网站地图

阅读更多

///


/// 生成google网站地图
///

///
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 + "
");

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,Google,.net,ASP,fckeditor)