C# 使用c从url创建xml站点地图#

C# 使用c从url创建xml站点地图#,c#,xml,sitemap,C#,Xml,Sitemap,我正在尝试创建一个实用程序,它将使用c#创建一个xml站点地图。我可以将它指向本地文件夹,并生成显示在浏览器中的结果,但当我将它指向网站时遇到了问题。任何提示或提示将不胜感激!我对c比较陌生 static void Main(字符串[]args) { //字符串sDir=@“WWW.WEBSITE.COM”;网络不是一个文件系统。我认为你没有完全理解你试图实现的目标的复杂性。你必须编写一个网络爬虫程序,它基本上是一个HTTP客户端,它读取给定的URL,搜索内部链接,然后递归地对每个链接进行

我正在尝试创建一个实用程序,它将使用c#创建一个xml站点地图。我可以将它指向本地文件夹,并生成显示在浏览器中的结果,但当我将它指向网站时遇到了问题。任何提示或提示将不胜感激!我对c比较陌生

static void Main(字符串[]args)
{   

//字符串sDir=@“WWW.WEBSITE.COM”;网络不是一个文件系统。我认为你没有完全理解你试图实现的目标的复杂性。你必须编写一个网络爬虫程序,它基本上是一个HTTP客户端,它读取给定的URL,搜索内部链接,然后递归地对每个链接进行爬网。你必须考虑广度优先,深度优先爬网、规范URL、可能的蜜网(反复产生相同内容的URL,导致爬网程序卡住等),递归限制等。这不是一项琐碎的任务!我现在意识到了这一点。我刚刚开始处理互联网。我的部分缺点是没有认识到我所做的与TyCobb指出的网络之间的差异。我真的非常感谢你的帮助!
    static void Main(string[] args)
    {   
        //String sDir = @"WWW.WEBSITE.COM";<---I'd like to index a site rather than a file.
        String sDir = @"FOLDER_LOCATION";
        String siteMap = @"FOLDER_LOCATION\sitemapworking.xml";//Where I'd like to save the sitemap
        var sb = new System.Text.StringBuilder();


        String[] allfiles = System.IO.Directory.GetFiles(sDir, "*", System.IO.SearchOption.AllDirectories);
        String[] alldirects = System.IO.Directory.GetDirectories(sDir, "*", System.IO.SearchOption.AllDirectories);

        sb.AppendLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset>");
        sb.AppendLine("<url>\n\t<loc>" + sDir + "</loc>\n</url>");

        foreach (string s in alldirects)
        {
            sb.AppendLine("<url>\n\t<loc>" + s + "</loc>\n</url>");
        }

        foreach (string s in allfiles)
        {
            System.IO.FileInfo file = new System.IO.FileInfo(s);
            sb.AppendLine("<url>\n\t<loc>" + s + "</loc>\n\t<lastmod> " + file.LastWriteTime + "</lastmod>\n</url>");
        }
        sb.AppendLine("</urlset>");
        File.WriteAllText(siteMap, sb.ToString());
    }