C#生成sitemap站点地图的方法

 更新时间:2013年04月27日 14:31:51   作者:  
C#生成sitemap站点地图的方法,需要的朋友可以参考一下

    Sitemaps是Google的一个和网站管理员相关的工具,有点象BLOG的RSS功能,是一个方便自己的服务,如果大家都采用了这种方式提交自己的更新的话,Google就再也不用派出那么多爬虫辛辛苦苦的到处乱窜了,任何一个站点,只要有更新,便会自动“通知”Google,方便Google进行索引。

好像最近BAIDU也开始支持XML格式的sitemap的站点地图了。

目前网络上有很多免费的生成sitemap站点地图的工具,使用起来也比较方便。其原理就是抓取你指定的页面,获取页面上所有的链接,根据这些链接生成一个xml格式的sitemap站点地图文件。

但是这样做的缺点就是只能生成页面上有链接的sitemap站点地图,同时,站点地图需要手工上传到服务器才能使用。

下面就提供一种通过C#自动生成sitemap站点地图的方法,可以直接通过网站系统生成在服务器目录,而且根据自己的需求任意设置需要显示在sitemap站点地图中的链接。

复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Voodoo.other.SEO
{
/// <summary>
/// 生成站点地图sitemap
/// (c) http://aizr.net
/// </summary>
public class SiteMap
{
public List<PageInfo> url
{
get;
set;
}

/// <summary>
/// 生成SiteMap字符串
/// </summary>
/// <returns></returns>
public string GenerateSiteMapString()
{
StringBuilder sb = new StringBuilder();
sb.AppendLine(“<?xml version=\”1.0\” encoding=\”UTF-8\”?> “);
sb.AppendLine(“<urlset xmlns=\”http://www.sitemaps.org/schemas/sitemap/0.9\”> “);

foreach (PageInfo pi in url)
{
sb.AppendLine(“<url>”);
sb.AppendLine(string.Format(“<loc>{0}</loc>”,pi.loc));
sb.AppendLine(string.Format(“<lastmod>{0}</lastmod> “, pi.lastmod.ToString(“yyyy-MM-dd”)));
sb.AppendLine(string.Format(“<changefreq>{0}</changefreq> “, pi.changefreq));
sb.AppendLine(string.Format(“<priority>{0}</priority> “,pi.priority));
sb.AppendLine(“</url>”);
}

sb.AppendLine(“</urlset>”);
return sb.ToString();
}

/// <summary>
/// 保存Site文件
/// </summary>
/// <param name=”FilePath”>路径</param>
public void SaveSiteMap(string FilePath)
{
Voodoo.IO.File.Write(FilePath, GenerateSiteMapString());//保存在指定目录下
}
}

public class PageInfo
{
/// <summary>
/// 网址
/// </summary>
public string loc { get; set; }

/// <summary>
/// 最后更新时间
/// </summary>
public DateTime lastmod { get; set; }

/// <summary>
/// 更新频繁程度
/// </summary>
public string changefreq{get;set;}

/// <summary>
/// 优先级,0-1
/// </summary>
public string priority { get; set; }
}
}

相关文章

  • c# 预处理识别硬币的数据集

    c# 预处理识别硬币的数据集

    这篇文章主要介绍了c# 预处理识别硬币的数据集的方法,帮助大家更好的利用c#进行深度学习,感兴趣的朋友可以了解下
    2020-12-12
  • C#中的lock、Monitor、Mutex学习笔记

    C#中的lock、Monitor、Mutex学习笔记

    这篇文章主要介绍了C#中的lock、Monitor、Mutex学习笔记,本文讲解的都是线程同步的一些知识,需要的朋友可以参考下
    2015-01-01
  • C# 使用 OleDbConnection 连接读取Excel的方法

    C# 使用 OleDbConnection 连接读取Excel的方法

    这篇文章主要介绍了C# 使用 OleDbConnection 连接读取Excel的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • C#实现自定义屏保的示例代码

    C#实现自定义屏保的示例代码

    这篇文章主要为大家详细介绍了如何利用C#实现自定义屏保的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • C#运行CGI程序实例

    C#运行CGI程序实例

    这篇文章主要介绍了C#运行CGI程序的方法,实例讲述了具体的配置步骤与实现代码,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • C#中获取程序路径的几种方法及其区别说明

    C#中获取程序路径的几种方法及其区别说明

    这篇文章主要介绍了C#中获取程序路径的几种方法及其区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Unity游戏开发中的设计模式之策略模式

    Unity游戏开发中的设计模式之策略模式

    策略模式是Unity游戏开发中常用的设计模式之一,用于封装一系列算法或行为,并使这些算法或行为可以相互替换。通过策略模式,可以在运行时动态地选择算法或行为,实现游戏中的多样性和可扩展性。常见的应用包括AI行为、武器攻击、移动方式等
    2023-05-05
  • C# 获取文件夹里所有文件名的详细代码

    C# 获取文件夹里所有文件名的详细代码

    这篇文章主要介绍了C# 获取文件夹里所有文件名,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Unity实现俄罗斯方块

    Unity实现俄罗斯方块

    这篇文章主要为大家详细介绍了Unity实现俄罗斯方块,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • c#(Socket)异步套接字代码示例

    c#(Socket)异步套接字代码示例

    c#(Socket)异步套接字代码示例...
    2007-03-03

最新评论