自动为我的网站生成sitemap.xml

时间:2010-11-05 04:59:29

标签: c# asp.net xml asp.net-mvc-2 sitemap

有人可以指导我如何使用ashx处理程序为我的网站自动生成sitemap.xml文件吗?

1 个答案:

答案 0 :(得分:2)

假设您网站上的每个唯一aspx文件都对应一个页面,您将需要使用Directory命名空间过滤中的System.IO对象遍历您网站中的文件和文件夹为*.aspx。如果您提供*.html*.pdf等,则可能需要包含其他可能的文件。

创建一个递归函数,遍历目录中的所有文件,然后在目录中的所有子目录上调用自身。

当你走过目录树时,只需在sitemap.xml中为每个项目生成一个节点。使用String.Builder执行此操作。

您的sitemap.xml structure是;

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>http://www.example.com/</loc>
      <lastmod>2005-01-01</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>
</urlset> 

将网址添加到单独的<loc/>元素中。