ASP.NET生成Google网站地图的代码
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){}
}
相关文章
- 宝塔面板Linux系统通过Docker部署VB.NET Asp.Net Core WebAPI应用
- [接上篇]在Window10/11的Linux子系统Docker上部署VB.NET Asp.Net Core WebAPI应用
- .Net Core3.1 SignalR for WPF Asp.net
- 使用 Google Breakpad 来助力解决程序崩溃
- 【愚公系列】2023年01月 .NET CORE工具案例-RedLock.net实现分布式锁
- 【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 最简单用法 | 一行代码搞定权限申请 | 推荐用法 )
- 如何使用SXDork并利用Google Dorking技术在互联网中搜索指定信息
- 数据库使用.NET连接MySQL数据库(net连接mysql)
- Google Summer of Code 2016 启动:现接受学生注册申请
- ML in Google:回望 Google 开发者大会 2019
- 跨平台利器:.NET在Linux上的运行(.net运行在linux)
- Google旗下AI健康子公司DeepMind Health,为什么搞起了区块链?
- Linux上安装.NET:提高开发效率,拓展技术栈(linux安装.net)
- Redis从入门到精通:.NET实现指南(redis.net书籍)
- 视频2.0版本:Google研发7年无果,但一个中国90后做到了
- 基于NET的MySQL数据库开发实践(.net中使用mysql)
- NET 对MySQL 的支持有限(.net不支持mysql)
- NET和MySQL的无缝搭配实现创新的技术路径(.net mysql支持)
- 探索Oracle中NET位置的背后秘密(oracle中net位置)
- Oracle Net服务重新上线,确保数据安全(oracle net重启)
- Google申请驳回俄亥俄州反垄断诉讼:用户多不代表就是公用事业
- asp.net(C#)动态添加非ASP的标准html控件(如添加Script标签)
- 浅析ASP.NET安全性分析(加强asp.net1.1/2.0安全性)
- .Net中导出数据到Excel(asp.net和winform程序中)