zl程序教程

您现在的位置是:首页 >  其他

当前栏目

ASP.NET生成Google网站地图的代码

GoogleNetASP网站代码 生成 地图
2023-06-13 09:14:12 时间
复制代码代码如下:

///<summary>
///生成google网站地图
///</summary>
///<returns></returns>
publicstaticboolBuildGoogleSitemap()
{
try
{
stringRootDirectory=AppDomain.CurrentDomain.BaseDirectory;
XmlTextWriterWriter=newXmlTextWriter(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();
returntrue;
}
catch(Exceptionerr)
{
returnfalse;
}
}
//遍历扫描网站所有文件
staticvoidshowfiles(stringdirpath,XmlTextWriterWriter)
{
boolIsRead=true;
string[]NotRead={"App_Data","Bin","fckeditor","js","MyAdmin","PowerChatRoom"};//排除这些文件夹
foreach(stringsinNotRead)
{
stringdirname=dirpath.Substring(dirpath.LastIndexOf(@"\")+1);
if(dirname==s)
{
IsRead=false;
break;
}
}
if(!IsRead)
return;
try
{
DirectoryInfodir=newDirectoryInfo(dirpath);
foreach(FileInfofindir.GetFiles())
{
stringpath=dir.FullName.Replace(AppDomain.CurrentDomain.BaseDirectory,"");//文件相对目录
//HttpContext.Current.Response.Write(AppDomain.CurrentDomain.BaseDirectory+"**********"+dir.FullName+"<br>");
Writer.WriteStartElement("url");
Writer.WriteStartElement("loc");
StringBuildersb=newStringBuilder("/"+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(DirectoryInfodindir.GetDirectories())
{
showfiles(d.FullName,Writer);
}
}
catch(Exception){}
}