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 + "<br/>" + strUsetime + "<br/>" + (st.ElapsedMilliseconds % 1000).ToString()); Response.Redirect("../rss.xml"); // Response.Write("<script type='text/javascript'>window.open('../rss.xml');</script>");//confirm('xml已生成,是否查看?') } /**/ /// <summary> /// 根据文件路径写RSS文件 /// </summary> /// <remarks> /// 例如: /// WriteRss("D:Vs2005GenerateRssRSS_Folder est_tb.xml","test_tb") /// 注意:根据表的结构,需要调整生成的RSS源。本实例仅供测试用。 /// </remarks> /// <param name="pathfilename">文件路径</param> /// <param name="tablename">表名</param> /// <returns>true or false</returns> 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; } }
/**/
/// <summary> /// 组织符合最新标准的RSS字符串 /// 参数:表名。 /// </summary> /// <remarks> /// 例如: /// GetRSS() /// 注意:根据表的结构,需要调整生成的RSS源。本实例仅供测试用。 /// </remarks> /// <param name="tablename">表名</param> /// <returns>返回一个DataSet 数据源</returns> public static string GetRSSString(string Tablename) { try { DataSet ds = GetRSSData(Tablename); string strRSS = ""; strRSS = strRSS + "<?xml version='1.0' encoding='utf-8'?>" + System.Environment.NewLine;
strRSS = strRSS + "<?xml-stylesheet type='text/css' href='http://www./css/Rss.css'?>" + System.Environment.NewLine; strRSS = strRSS + "<rss version='2.0'>" + System.Environment.NewLine; strRSS = strRSS + " <channel>" + System.Environment.NewLine; strRSS = strRSS + " <title>重庆华爱耳鼻喉新闻</title> " + System.Environment.NewLine; strRSS = strRSS + " <link>http://www./ylxw</link>" + System.Environment.NewLine; strRSS = strRSS + " <description>耳鼻喉医院,重庆华爱,重庆耳鼻喉,重庆耳鼻喉科,重庆耳鼻喉专科医院,重庆最好的耳鼻喉医院,重庆最好的鼻炎医院,重庆治疗急慢性过敏性鼻炎,儿童过敏性鼻炎,最好的耳鼻喉专科医院,重庆华爱耳鼻喉医院,重庆耳鼻喉医院,重庆耳鼻喉专科医院,重庆耳鼻喉医院是重庆最大最专业的耳鼻喉医院,治疗鼻炎,鼻窦炎,过敏性鼻炎,咽喉炎等耳鼻喉疾病更专业,电话:67716771</description>" + System.Environment.NewLine; strRSS = strRSS + " <language>zh-CN</language>" + System.Environment.NewLine; strRSS = strRSS + " <generator>http://www.</generator> " + System.Environment.NewLine; strRSS = strRSS + " <copyright>新加坡兰博耳鼻喉研究所附属医院</copyright> " + System.Environment.NewLine; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { strRSS = strRSS + " <item>" + System.Environment.NewLine; strRSS = strRSS + " <title>" + ds.Tables[0].Rows[i]["lrbt"] + "</title> " + System.Environment.NewLine; strRSS = strRSS + " <link>http://www." + ds.Tables[0].Rows[i]["lrlj"] + "</link> " + System.Environment.NewLine; strRSS = strRSS + " <author /> " + System.Environment.NewLine; //strRSS = strRSS + " <guid>http://www.**.com.cn/ArticleShow@" + ds.Tables[0].Rows[i]["ID"] + ".html</guid> " + System.Environment.NewLine; strRSS = strRSS + " <pubDate>" + Convert.ToDateTime(ds.Tables[0].Rows[i]["lrdt"].ToString()).ToString("yyyy-MM-dd HH:mm") + "</pubDate> " + System.Environment.NewLine; //strRSS = strRSS + " <comments>http://www.**.com.cn/ArticleShow@" + ds.Tables[0].Rows[i]["ID"] + ".html</comments> " + System.Environment.NewLine; //strRSS = strRSS + " <slash:comments>0</slash:comments> " + System.Environment.NewLine; strRSS = strRSS + " <source url='http://www." + ds.Tables[0].Rows[i]["lrlj"] + "'> " + ds.Tables[0].Rows[i]["lrbt"] + " </source>" + System.Environment.NewLine; strRSS = strRSS + " <description>" + ds.Tables[0].Rows[i]["lrms"] + "</description>" + System.Environment.NewLine; strRSS = strRSS + " </item>" + System.Environment.NewLine; } strRSS = strRSS + " </channel>" + System.Environment.NewLine; strRSS = strRSS + " </rss>" + System.Environment.NewLine; return strRSS; } catch (Exception ex)
{ System.Web.HttpContext.Current.Response.Write(ex.Message); throw; } } /**/ /// <summary> /// 获取RSS数据源 /// 参数:表名。 /// </summary> /// <remarks> /// 例如: /// DataSet ds = GetRSSData(TableName) /// 注意:根据表的结构,需要调整生成的RSS源。本实例仅供测试用。 /// </remarks> /// <param name="Tablename">表名</param> /// <returns>返回一个DataSet 数据源</returns> 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; } } |
|