芜湖市中医院皮肤科:.NET生成Rss的xml文件

来源:百度文库 编辑:九乡新闻网 时间:2024/05/05 13:28:47
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Data.SqlClient;
using GeneralLibrary.DbAccess;
using System.Diagnostics;
 
 public partial class RSS_CreateRss : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
     //   Stopwatch st = new Stopwatch();
     //   st.Start();
 
        string Tablename = "lrb"; //
        string fname = System.Web.HttpContext.Current.Server.MapPath("../rss.xml");
         WriteRss(fname, Tablename);
      //   st.Stop();
      //   string strUsetime = (st.ElapsedMilliseconds / 1000).ToString() + "." + (st.ElapsedMilliseconds % 1000).ToString();
      //   string runtime = st.ElapsedMilliseconds.ToString();
      //   Response.Write("总运行时间:" + st.Elapsed + "
" + strUsetime + "
" + (st.ElapsedMilliseconds % 1000).ToString());
         Response.Redirect("../rss.xml");
        // Response.Write("");//confirm('xml已生成,是否查看?')
    }
    /**/
    ///
    /// 根据文件路径写RSS文件
    ///

    ///
    /// 例如:
    /// WriteRss("D:Vs2005GenerateRssRSS_Folder est_tb.xml","test_tb")
    /// 注意:根据表的结构,需要调整生成的RSS源。本实例仅供测试用。
    ///

    /// 文件路径
    /// 表名
    /// true or false
    public static bool WriteRss(string pathfilename, string tablename)
    {
        try
        {
            FileInfo finfo = new FileInfo(pathfilename);
            using (FileStream fs = finfo.OpenWrite())
            {
                StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("UTF-8"));
                sw.WriteLine(GetRSSString(tablename));
                sw.Flush();
                sw.Close();
            }
            return true;
        }
        catch (System.Exception ex)
        {
            System.Web.HttpContext.Current.Response.Write(ex.Message);
            return false;
            throw;
        }    }    /**/
    ///
    /// 组织符合最新标准的RSS字符串
    /// 参数:表名。
    ///

    ///
    /// 例如:
    /// GetRSS()
    /// 注意:根据表的结构,需要调整生成的RSS源。本实例仅供测试用。
    ///

    /// 表名
    /// 返回一个DataSet 数据源
    public static string GetRSSString(string Tablename)
    {
        try
        {
            DataSet ds = GetRSSData(Tablename);
            string strRSS = "";       strRSS = strRSS + "" + System.Environment.NewLine;
             strRSS = strRSS + "" + System.Environment.NewLine;
            strRSS = strRSS + "" + System.Environment.NewLine;
            strRSS = strRSS + " " + System.Environment.NewLine;
            strRSS = strRSS + " 重庆华爱耳鼻喉新闻 " + System.Environment.NewLine;
            strRSS = strRSS + " http://www.67716771.com/ylxw" + System.Environment.NewLine;
            strRSS = strRSS + " 耳鼻喉医院,重庆华爱,重庆耳鼻喉,重庆耳鼻喉科,重庆耳鼻喉专科医院,重庆最好的耳鼻喉医院,重庆最好的鼻炎医院,重庆治疗急慢性过敏性鼻炎,儿童过敏性鼻炎,最好的耳鼻喉专科医院,重庆华爱耳鼻喉医院,重庆耳鼻喉医院,重庆耳鼻喉专科医院,重庆耳鼻喉医院是重庆最大最专业的耳鼻喉医院,治疗鼻炎,鼻窦炎,过敏性鼻炎,咽喉炎等耳鼻喉疾病更专业,电话:67716771" + System.Environment.NewLine;
            strRSS = strRSS + " zh-CN" + System.Environment.NewLine;
            strRSS = strRSS + " http://www.67716771.com " + System.Environment.NewLine;
            strRSS = strRSS + " 新加坡兰博耳鼻喉研究所附属医院 " + System.Environment.NewLine;
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                strRSS = strRSS + " " + System.Environment.NewLine;
                strRSS = strRSS + " " + ds.Tables[0].Rows[i]["lrbt"] + " " + System.Environment.NewLine;
                strRSS = strRSS + " http://www.67716771.com" + ds.Tables[0].Rows[i]["lrlj"] + " " + System.Environment.NewLine;
                strRSS = strRSS + " " + System.Environment.NewLine;
                //strRSS = strRSS + " http://www.**.com.cn/ArticleShow@" + ds.Tables[0].Rows[i]["ID"] + ".html   " + System.Environment.NewLine;
                strRSS = strRSS + " " + Convert.ToDateTime(ds.Tables[0].Rows[i]["lrdt"].ToString()).ToString("yyyy-MM-dd HH:mm") + " " + System.Environment.NewLine;
                //strRSS = strRSS + " http://www.**.com.cn/ArticleShow@" + ds.Tables[0].Rows[i]["ID"] + ".html   " + System.Environment.NewLine;
                //strRSS = strRSS + " 0    " + System.Environment.NewLine;
                strRSS = strRSS + " " + ds.Tables[0].Rows[i]["lrbt"] + " " + System.Environment.NewLine;
             strRSS = strRSS + " " + ds.Tables[0].Rows[i]["lrms"] + "" +
                      System.Environment.NewLine;
                strRSS = strRSS + "
" + System.Environment.NewLine;
            }
            strRSS = strRSS + "
" + System.Environment.NewLine;
            strRSS = strRSS + "
" + System.Environment.NewLine;
        
            return strRSS;
        }        catch (Exception ex)
        {
            System.Web.HttpContext.Current.Response.Write(ex.Message);
            throw;
        }
    }
    
    /**/
    ///
    /// 获取RSS数据源
    /// 参数:表名。
    ///

    ///
    /// 例如:
    /// DataSet ds = GetRSSData(TableName)
    /// 注意:根据表的结构,需要调整生成的RSS源。本实例仅供测试用。
    ///

    /// 表名
    /// 返回一个DataSet 数据源
    public static DataSet GetRSSData(string Tablename)
    {
            string strSql = "select top 100 * from " + Tablename + " order by lrdt desc";
            SqlDataAdapter sda = new SqlDataAdapter(strSql, new SqlConnection(DbConfig.DbConnection));
            DataSet DataSet = new DataSet();
            sda.Fill(DataSet, "table");
            return DataSet;
    }
}