仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 677|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET教程之RSS制造(C#) - 利用XML DOM

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:46:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有时也搞不懂应该学那种;主要看你以后去的那个公司是使用哪种了。就像王千祥的课上说的:企业应用现在主要就三层(其实也差不多就是MVC):表示层(主要使用html写的,很简单)、业务逻辑层(主要就是应用服务器的)。最后就是数据层(其实就是学习数据库)dom|rss|xml网站的RSS一样平常以两种情势援用。一种是已存在的xml文件,然后在更新数据库的时分对其举行更新,大概利用别的保护程序为其更新。另外一种是在静态天生RSS文件,即在会见某一个地点的时分,服务端办法从数据库读取最新纪录,天生RSS文件,前往给会见者。
现报告静态天生RSS文件的办法。
静态天生RSS文件也基础有两种办法,一种是用字符串累加的办法,另外一种是利用xml文档天生的办法。字符串累加的办法也对照复杂,我也就未几说了,这里侧重说一下天生XmlDocument的办法,包含各类节点的创立,属性的创立等。固然在此也有需要申明一下为何接纳后者,由于后者切合XMLDOM尺度,有益于你熟悉dom模子,而且机关速率更快,机关出的xml文档更不简单堕落,个中有一些细节我也会做一些需要的报告。
主办法以下:
privatevoidWriteRSS()
{
XmlDocumentdomDoc=newXmlDocument();
XmlDeclarationnodeDeclar=domDoc.CreateXmlDeclaration("1.0",System.Text.Encoding.UTF8.BodyName,"yes");
domDoc.AppendChild(nodeDeclar);
//假如rss有款式表文件的话,加上这两句
XmlProcessingInstructionnodeStylesheet=domDoc.CreateProcessingInstruction("xml-stylesheet","type="text/CSS"href="rss.css"");
domDoc.AppendChild(nodeStylesheet);
XmlElementroot=domDoc.CreateElement("rss");
root.SetAttribute("version","2.0");//增加属性结点
domDoc.AppendChild(root);
XmlElementchnode=domDoc.CreateElement("channel");
root.AppendChild(chnode);
XmlElementelement=domDoc.CreateElement("title");
XmlNodetextNode=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");//援用结点
XmlNodecDataNode=domDoc.CreateCDataSection("立即报导国际外时政年夜事,解读举世核心事务");
element.AppendChild(cDataNode);
chnode.AppendChild(element);
DataTabledt=GetDataTab();//会见数据库,猎取要在rss中显现的纪录
foreach(DataRowdrindt.Rows)
{
element=domDoc.CreateElement("item");
//...
//创立内容结点,罕见的如title,description,link,pubDate,创立办法同上
//...
chnode.AppendChild(element);
}
//输入
XmlTextWriterobjTextWrite=newXmlTextWriter(this.Response.OutputStream,System.Text.Encoding.UTF8);
domDoc.WriteTo(objTextWrite);
objTextWrite.Flush();
objTextWrite.Close();
}
输入了局以下(item部分是为申明实例手工增加):
<?xmlversion="1.0"encoding="utf-8"?>
<rssversion="2.0">
<channel>
<title>搜狐核心旧事</title>
<link>http://www.sohu.com</link>
<description>
<![CDATA[立即报导国际外时政年夜事,解读举世核心事务
]]>
</description>
<itemid="">
<title></title>
<link></link>
<pubDate>2006-10-1521:59:36</pubDate>
</item>
<itemid="">
<title></title>
<link></link>
<pubDate>2006-10-1510:33:53</pubDate>
</item>
<title>[中介][出卖室庐]明发国际新城3房2厅2卫93万元/套</title>
<link>http://www.ewhouse.com/HouseInfo.aspx?publishId=3440</link>
<pubDate>2006-10-1210:50:18</pubDate>
</item>
</channel>
</rss>
有几点值得申明的有:
1、CreateTextNode,即创立文本结点
有人习气利用InnerText来增加结点中的文本,固然了局是一样的,可是要晓得在DOM中文本也是结点,既然要切合DOM尺度,就要举行究竟!
2、输入
我在实例中利用XmlTextWriter输入。
实践还可使用以下:
Response.ContentType="application/xml";//输入并按xml数据显现
Response.Write(domDoc.InnerXml);
可是,利用XmlTextWriter输入更快,以是也倡议利用这个办法。
我以前很喜欢Serv-U,自从它用Java重写之后我就再也没用过,实在是太慢了,我宁可用IIS搭建FTP,虽然IIS搭建FTP在权限管理上很不灵活。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-20 12:37:29 | 只看该作者
CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
不帅 该用户已被删除
8#
发表于 2015-3-13 04:15:04 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-6 16:37:05 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
若天明 该用户已被删除
6#
发表于 2015-2-20 07:10:38 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
老尸 该用户已被删除
5#
发表于 2015-2-7 03:45:31 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
分手快乐 该用户已被删除
地板
发表于 2015-2-1 10:29:59 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
小魔女 该用户已被删除
板凳
 楼主| 发表于 2015-1-24 12:13:09 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
山那边是海 该用户已被删除
沙发
发表于 2015-1-19 11:00:50 | 只看该作者
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-29 15:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表