All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL Server得到表记录总数另类方法_[SQL Server教程]
asp.net中用VML动态的画出数据分析图表详解_[Asp.Net教程]
PHP针对配置文件操作的最常用四个ini函数_php资料_编程技术
Asp.net动态生成html页面的一种方法_[Asp.Net教程]
九 表格 Tables_[Html教程]
五个常见 PHP 数据库问题_[PHP教程]
C#分析数据库结构,使用XSL模板自动生成代码_.net资料_编程技术
oracle,SQL性能优化_mssql学习_编程技术
c#中连接SqL2005数据库错误解决及转义字符_.net资料_编程技术
ASP.NET中的doPostBack脚本函数实例_.net资料_编程技术
Reading number is top 10 pictures
So beauty, will let you spray blood2
开始让人感动,后来......
Sora aoi possession of boudoir2
做运动的校花2
Seductive beauty of crime1
Azusa Yamamoto1
A man's favorite things9
8090后结婚的各种XX事
王艳写真温柔如水2
姑娘手慢了,已经走光了
Download software ranking
Prostitutes diary
Proficient in JavaScript
Boxer vs Yellow2
Visual C++界面编程技术
Unix video tutorial5
Boxer's Top ten classic battle9
Boxer vs Yellow4
Tram sex maniac 2 (H) rar bag8
Take off clothes to survival
Desire a peach blossom
aaa published in(发表于) 2013/12/8 7:51:15 Edit(编辑)
RSS制作

RSS制作

RSS制作(C#) - 使用XML DOM_.net资料_编程技术-你的首页-uuhomepage.com

网站的RSS一般以两种形式引用。一种是已经存在的xml文件,然后在更新数据库的时候对其进行更新,或者使用其它维护程序为其更新。另一种是在动态生成RSS文件,即在访问某一个地址的时候,服务端方法从数据库读取最新记录,生成RSS文件,返回给访问者。


现讲述动态生成RSS文件的方法。


动态生成RSS文件也基本有两种方法,一种是用字符串累加的方法,另一种是使用xml文档生成的方法。字符串累加的方法也比较简单,我也就不多说了,这里着重说一下生成XmlDocument的方法,包括各种节点的创建,属性的创建等。当然在此也有必要说明一下为什么采用后者,因为后者符合XML DOM标准,有利于你认识dom模型,并且构造速度更快,构造出的xml文档更不容易出错,其中有一些细节我也会做一些必要的讲述。


主方法如下:


private void WriteRSS()


{


XmlDocument domDoc = new XmlDocument();


XmlDeclaration nodeDeclar = domDoc.CreateXmlDeclaration("1.0", System.Text.Encoding.UTF8.BodyName, "yes");


domDoc.AppendChild(nodeDeclar);


//如果rss有样式表文件的话,加上这两句


XmlProcessingInstruction nodeStylesheet = domDoc.CreateProcessingInstruction("xml-stylesheet","type=\"text/css\" href=\"rss.css\"");


domDoc.AppendChild(nodeStylesheet);


XmlElement root = domDoc.CreateElement("rss");


root.SetAttribute("version","2.0"); //添加属性结点


domDoc.AppendChild(root);


XmlElement chnode = domDoc.CreateElement("channel");


root.AppendChild(chnode);


XmlElement element = domDoc.CreateElement("title");


XmlNode textNode = domDoc.CreateTextNode("搜狐焦点新闻"); //文本结点


element.AppendChild(textNode);


chnode.AppendChild(element);


element = domDoc.CreateElement("link");


textNode = domDoc.CreateTextNode("http://www.sohu.com");


element.AppendChild(textNode);


chnode.AppendChild(element);


element = domDoc.CreateElement("description"); //引用结点


XmlNode cDataNode = domDoc.CreateCDataSection("即时报道国内外时政大事,解读环球焦点事件");


element.AppendChild(cDataNode);


chnode.AppendChild(element);


DataTable dt = GetDataTab(); //访问数据库,获取要在rss中显示的记录


foreach(DataRow dr in dt.Rows)


{


element = domDoc.CreateElement("item");


//...


//创建内容结点,常见的如title,description,link,pubDate,创建方法同上


//...


chnode.AppendChild(element);


}


//输出


XmlTextWriter objTextWrite = new XmlTextWriter(this.Response.OutputStream,System.Text.Encoding.UTF8);


domDoc.WriteTo(objTextWrite);


objTextWrite.Flush();


objTextWrite.Close();


}


输出结果如下(item部分是为说明实例手工添加):





搜狐焦点新闻


http://www.sohu.com




]]>






2006-10-15 21:59:36






2006-10-15 10:33:53



[中介][出售住宅]明发国际新城3房2厅2卫93万元/套


http://www.ewhouse.com/HouseInfo.aspx?publishId=3440


2006-10-12 10:50:18





有几点值得说明的有:


1、 CreateTextNode,即创建文本结点


有人习惯使用InnerText来添加结点中的文本,虽然结果是一样的,但是要知道在DOM中文本也是结点,既然要符合DOM标准,就要进行到底!


2、 输出


我在实例中使用XmlTextWriter输出。


实际还可以使用如下:


Response.ContentType = "application/xml"; // 输出并按xml数据显示


Response.Write(domDoc.InnerXml);


但是,使用XmlTextWriter输出更快,所以也建议使用这个方法。






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.