zoukankan      html  css  js  c++  java
  • 将指定目录下的所有同类文件生成RSS

    今天写了这么个东西,经理让抓取别人的HTML页面,并显示出来。
    只好写这么个东西,再用XSL显示了。

    代码还没完全写好,往集合中添加ITEM时,后面的项总会把前面的几个覆盖掉,最终就只剩下最后一个ITEM了,不过COUNT是对的。

    贴一部分代码:
    搜索指定目录的文件

    下面的是生成RSS的类,不过有问题,再向频道添加ITEM的时候,后一个会覆盖前一个。
     1using System;
     2using System.Collections;
     3using System.Collections.Generic;
     4using System.Text;
     5using System.IO;
     6using Rss;
     7namespace buildSiteMap
     8{
     9    public class buildxml
    10    {
    11        private seachFiles sf = new seachFiles();
    12        private string siteurl;
    13        private string filepath;
    14        public buildxml()
    15        {
    16            sf.Filepath = "";
    17            sf.Filetypes = "";
    18            filepath = "";
    19            siteurl = "";
    20        }

    21        public buildxml(string filep,string filet,string url)
    22        {
    23            sf.Filepath = filep;
    24            sf.Filetypes = filet;
    25            siteurl=url;
    26            filepath = filep;
    27            filepath = this.ismenusite(filepath);
    28        }

    29        public string Siteurl
    30        {
    31            get return this.siteurl; }
    32            set this.siteurl = value; }
    33        }

    34        public bool savexml()
    35        {
    36            try
    37            {
    38                Rss.RssFeed rf = new RssFeed();
    39                rf.Encoding = System.Text.Encoding.GetEncoding("gb2312");
    40                rf.Version = RssVersion.RSS20;
    41                Rss.RssItem ri = new RssItem();
    42                Rss.RssChannel rc = new RssChannel();
    43                rc.Title = "china tour";
    44                rc.Description = "china tour|tibet tour|sichuan tour";
    45                siteurl = this.getsiteurl(siteurl);
    46                siteurl = this.iswebsite(siteurl);
    47                rc.Link = new Uri(siteurl);
    48                
    49                rc.PubDate = DateTime.Now;
    50                System.Collections.ArrayList arr = new System.Collections.ArrayList();
    51                arr = sf.getFilePaths();
    52                string tempstr = "";
    53                foreach(FileInfo fi in arr)
    54                {
    55                    System.Console.Out.WriteLine(fi.Name);
    56                    ri.Title = fi.Name.ToString();// this.getfilename();
    57                    tempstr = fi.FullName.ToString();
    58                    tempstr = tempstr.Replace(filepath, siteurl);
    59                    ri.Link = new Uri(tempstr);
    60                    ri.PubDate = fi.LastWriteTime;
    61                    rc.Items.Add(ri);
    62                }

    63                rf.Channels.Add(rc);
    64                string sitename = this.getsitename(siteurl.ToString());                
    65                rf.Write(filepath+sitename+".xml");
    66            }

    67            catch (Exception ex)
    68            {
    69                System.Console.Out.Write("保存RSS时出错"+ex.Message.ToString());
    70                return false;
    71            }

    72                return true;
    73        }

    74        private string iswebsite(string linkurl)
    75        {
    76            string c=linkurl.Substring(linkurl.Length - 1);
    77            return c.Equals("/"? linkurl : linkurl + "/";
    78        }

    79        private string ismenusite(string linkurl)
    80        {
    81            string c = linkurl.Substring(linkurl.Length - 1);
    82            return c.Equals("\\"? linkurl : linkurl + "\\";
    83        }

    84        private string getsitename(string siteurl)
    85        {
    86
    87            return siteurl.Split('.')[1].ToString();
    88        }

    89        private string getsiteurl(string siteurl)
    90        {
    91            return siteurl == "" ? "http://www.lutoo.com" : siteurl;
    92        }

    93        private string getfilename(string filename)
    94        {
    95            return filename.Split('.')[0].ToString();
    96        }

    97    }

    98}
  • 相关阅读:
    【luogu P1343 地震逃生】 题解
    【luogu P3931 SAC E#1
    【luogu P3275 [SCOI2011]糖果】 题解
    【luogu P2947 [USACO09MAR]向右看齐Look Up】 题解
    【luogu P1456 Monkey King】 题解
    【luogu P3377 左偏树(可并堆)】 模板
    【luogu P1993 小K的农场】 题解
    Sqlmap注入Base64编码的注入点
    kali高速更新源以及主题修改方法
    DiscuzX3.1搬家全过程
  • 原文地址:https://www.cnblogs.com/xewnwsl2001/p/741990.html
Copyright © 2011-2022 走看看