`
- 浏览:
4170735 次
-
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Net;
usingSystem.IO;
usingSystem.Xml;
usingSystem.Xml.XPath;
publicclassRssDoc
...{
XmlDocumentdoc;
List<Hashtable>list;
publicRssDoc()
...{
}
publicRssDoc(XmlDocumentdoc)
...{
this.doc=doc;
Load();
}
/**////<summary>
///获取网络资源
///</summary>
///<paramname="url">url</param>
///<paramname="timeOut">timeout(单位秒)</param>
///<paramname="useProxy">是否用代理</param>
publicstaticXmlDocumentGetDoc(stringurl,inttimeOut,booluseProxy)
...{
XmlDocument_doc=newXmlDocument();
try
...{
WebRequestreq=WebRequest.Create(url);
if(useProxy)
...{
WebProxyproxy=newWebProxy("http://63.149.98.16:80/",true);
req.Proxy=proxy;
}
req.Timeout=timeOut*1000;
WebResponseres=req.GetResponse();
StreamrssStream=res.GetResponseStream();
_doc.Load(rssStream);
rssStream.Dispose();
res.Close();
}
catch
...{
_doc=null;
}
return_doc;
}
privatevoidLoad()
...{
list=newList<Hashtable>();
XmlNodeListnodes=doc.GetElementsByTagName("item");
if(nodes==null||nodes.Count==0)
nodes=doc.GetElementsByTagName("entry");
if(nodes==null||nodes.Count==0)
return;
Hashtableht;
XmlNodeListns;
stringname;
stringdate;
foreach(XmlNodenodeinnodes)
...{
ht=newHashtable();
ns=node.ChildNodes;
try
...{
foreach(XmlNodeninns)
...{
name=n.Name.ToLower();
if(name.Contains("link"))
...{
if(n.Attributes["href"]!=null)
ht["link"]=n.Attributes["href"].Value.Trim();
elseht["link"]=n.InnerText.Trim();
continue;
}
if(name.Contains("title"))
...{
ht["title"]=n.InnerText.Trim();
continue;
}
if(name.Contains("category"))
...{
if(ht["category"]==null)ht["category"]=n.InnerText.Trim();
elseht["category"]=ht["category"].ToString()+","+n.InnerText.Trim();
continue;
}
if(name.Contains("date"))
...{
date=n.InnerText;
if(date!="")
...{
if(date.Contains(","))date=date.Substring(date.IndexOf(",")+1);
date=date.Trim();
if(date.Split('').Length>4)date=date.Replace(date.Split('')[4],"");
if(date.Contains("."))date=date.Split('.')[0].Trim();
date=date.Replace("T","");
if(date.Substring(date.LastIndexOf(":")+1).Length>2)
date=date.Substring(0,date.LastIndexOf(":")+3);
try...{date=DateTime.Parse(date.Trim()).ToString();}
catch...{date=DateTime.Now.ToString();}
}
elsedate=DateTime.Now.ToString();
ht["pubdate"]=date;
continue;
}
if(name.Contains("description"))
...{
ht["description"]=n.InnerText.Trim();
continue;
}
if(name.Contains("content"))
...{
ht["description"]=n.InnerText.Trim();
continue;
}
if(name.Contains("summary"))
...{
if(ht["description"]==null)ht["description"]=n.InnerText.Trim();
}
}
}
catch
...{
continue;
}
if(ht["link"]==null)ht["link"]="";
if(ht["title"]==null||ht["title"].ToString()=="")ht["title"]=ht["link"].ToString();
if(ht["category"]==null)ht["category"]="";
if(ht["pubdate"]==null)ht["pubdate"]=DateTime.Now.ToString();
if(ht["description"]==null)ht["description"]="";
list.Add(ht);
}
}
publicList<Hashtable>Items
...{
get
...{
returnlist;
}
}
}
使用:
XmlDocumentdoc=RssDoc.GetDoc(url,3,false);
RssDocrssdoc=newRssDoc(doc);
stringtitle="";
stringlink="";
stringdescription="";
stringcate="";
stringtime="";
foreach(Hashtablehsinrssdoc.Items)
...{
description=hs["description"].ToString();
title=hs["title"].ToString();
link=hs["link"].ToString();
time=hs["pubdate"].ToString();
cate=hs["category"].ToString();
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
【ASP.NET编程知识】ASP.NET读取RSS的方法.docx
ASP.NET RSS工具包 可以很好的集成到.net中 方便地读取rss
主要介绍了ASP.NET读取RSS的方法,非常实用的技巧,需要的朋友可以参考下
所以写了一个通用的读取Rss的代码,以后即时再增加或者删除Items中的子项,此代码也是可以辨认的。嗯……贴代码,记录一下吧。 代码如下:读取Rss返回DataTable/// /// 获Rss并转换为DataTable返回 /// /// ”...
技术基础 New Folder 多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions ...ASP.NET RSS Toolkit(RSS工具) Serialize Your Deck with Positron [XML Serialization, XSD, C#]...
网页读取RSS查询关键词结果,内含.NET怎样获取RSS的结果
3、支持Code93,Code129,PDF417,Rss14,GS1,UPC-A,UPC-E,EAN-8,EAN-13,Codabar,ITF,MSI,Plessey等; 4、不仅可以读取条码,也支持将自定义数据生成条形码和QR二维码。 5、简单易用,只需一行代码即可完成读写,上手迅速...
以下是我RSS界面的后台代码,给需要的朋友提供下我的经验: 代码如下:using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web....
2.12 Debug版本和Release版本的 区别 108 本章常见技术面试题 111 常见面试技巧之细节决定成败 111 本章小结 112 第3章 ASP.NET开发大杂烩 113 3.1 页面生命周期 114 3.1.1 独立页面生命周期事件顺序 114 3.1.2 ...
2.12 Debug版本和Release版本的 区别 108 本章常见技术面试题 111 常见面试技巧之细节决定成败 111 本章小结 112 第3章 ASP.NET开发大杂烩 113 3.1 页面生命周期 114 3.1.1 独立页面生命周期事件顺序 114 3.1.2 ...
9.4.2 支持上传文件的实时进度条 117 9.5 小结 118 第10章 图文验证模块 119 10.1 概述 119 10.1.1 验证码的作用 119 10.1.2 验证码的原理 119 10.1.3 比较常见的几种验证 方式 120 10.2 最简单的...
RSS/Portal/SampleRSS.aspx 创建简单RSS页面 RSS/Portal/UpdateUrl.aspx 修改链接 RSS/Portal/UrlManage.aspx 链接管理 RSS/Portal/ViewRSS.aspx 查看RSS页面内容 RSS/UserControl/Header....
C#编写的实现条形码和QR二维码读取和生成的类库。支持读取QR Code,Aztec Code,Data Matrix,MaxiCode,USPS ...SharpBarcode也支持Code93,Code129,PDF417,Rss14,GS1,UPC-A,UPC-E,EAN-8,EAN-13,Codabar,ITF,MSI,Plessey等
而助易网的rss读取就是在这个程序的基础上稍做改造而成,主 要是输出了一个数组字符串以及解决编码问题。 php源代码及代码详细解释如下: <?php //RSS源地址列表数组 $rssfeed = array(...
解码器支持以下条形码:UPC-A,UPC-E,EAN-8,EAN-13,Code 39,Code 93,Code 128,ITF,Codabar,MSI,RSS-14(所有变体),QR Code ,Data Matrix,Aztec和PDF-417。 编码器支持以下格式:UPC-A,EAN-8,EAN-13...
RSSMaker v1.2 (ASP版)--帮助您的网站实现RSS订阅功能 ... 雅客网是专业的集RSS订阅、RSS源共享、制作和发布的平台。 雅客网旨在提供全面的...5. 欢迎程序爱好者们提供您开发的版本(各种语言:ASP\PHP\ASP.net\JSP等)。
这是在学校做的.net平台~C#项目,,,用来读取RSS及浏览网址