有人可以指导我如何使用ashx处理程序为我的网站自动生成sitemap.xml文件吗?
答案 0 :(得分:2)
假设您网站上的每个唯一aspx
文件都对应一个页面,您将需要使用Directory
命名空间过滤中的System.IO对象遍历您网站中的文件和文件夹为*.aspx
。如果您提供*.html
或*.pdf
等,则可能需要包含其他可能的文件。
创建一个递归函数,遍历目录中的所有文件,然后在目录中的所有子目录上调用自身。
当你走过目录树时,只需在sitemap.xml中为每个项目生成一个节点。使用String.Builder执行此操作。
<?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/>
元素中。