很多网站都有自己的RSS,供用户订阅查看,故尝试为自己的网站做一个RSS。百度了一下,发现linq to xml提供了一个很简单的方法。
1.新建一个RSS.aspx页面,去除html内容,在cs页面添加代码:
_ueditor_page_break_tag_
public void createRss() { //首先从数据库里读出所需要的数据 DDWWebDataContext ddw = new DDWWebDataContext(); BLLCatalog bll = new BLLCatalog(); var query = from a in ddw.Inf_Article select new{ a.ID, a.Title, a.Content, a.Keywords, ArticleType=bll.getNameByCode(a.ArticleType), a.Description, a.dtCreate }; //开始创建xml 对于Rss的规范我这里不再啰嗦了,不明白的可以去网上查一下 //下面这一部分为xml里的声明部分,从foreach开始循环item,把sq的数据循环写入xml XElement contacts = new XElement("rss", new XAttribute("version", "2.0"), new XElement("channel", new XElement("title", "呆呆蛙的RSS"), new XElement("link", "http://www.daidaiwa.com"), new XElement("description", "呆呆蛙,关注生活和互联网技术的个人小站"), new XElement("language", "zh_cn"), new XElement("copyright", "Copyright 2013 daidaiwa"), new XElement("webMaster", "1872377517@qq.com") ) ); //这里开始循环写数据 foreach (var p in query) { contacts.Element("channel").Add(new XElement("item", new XElement("title", p.Title), new XElement("link", "http://www.daidaiwa.com/ArticleDetail/" + changeDate(p.dtCreate)+"/" + p.ID + ".html"), new XElement("description", p.Description), new XElement("category", p.ArticleType), new XElement("pubDate", p.dtCreate))); } //这里开始操作xml是写入具体的xml文件还是直接输出 //如果是写入文件的话用这个 //contacts.Save("文件路径"); //如果是输出的諙, //先设好输出的类型"text/xml" Response.ContentType = "text/xml"; using (XmlWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8)) //用contacts的WriteTo方法来写 contacts.WriteTo(writer); //这样就OK啦 }