`
- 浏览:
1978149 次
- 性别:
- 来自:
北京
-
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
相关推荐
1. **RssReader.cs**: 这个类通常包含了读取RSS源的逻辑。它可能提供了方法,如`LoadFromUrl`或`LoadFromFile`,用于从网络地址或本地文件加载RSS feed。该类会解析XML数据,转换成内部表示,以便后续处理。由于声称...
综上所述,这个“小型RSS读取”示例主要涵盖了HTTP请求、XML解析、数据绑定以及简单的用户交互逻辑。通过学习和实践这个例子,开发者可以更好地理解RSS技术在C#中的应用,并为进一步开发功能丰富的RSS阅读器打下基础...
php读取rss示例,读取rss中包含的标题和链接
为了在Java环境中读取RSS feed,我们需要依赖一些库来处理RSS XML数据。本篇文章将深入探讨如何在Java项目中使用给定的依赖库,包括`rome.jar`、`jdom-1.0.jar`,以及在WebLogic服务器和Linux 5 x64系统上运行的JDK ...
在这个实例中,我们看到的是如何使用JSP来读取RSS(Really Simple Syndication)源。 **RSS**是一种XML格式的数据,常用于发布新闻、博客更新等信息,使得用户可以通过RSS阅读器订阅并获取最新内容。RSS文件通常...
标题"读取RSS-SAX解析XML实例(java版)"所涉及的知识点主要集中在两个方面:一是如何读取RSS(Really Simple Syndication)数据,二是使用SAX解析XML文件。 RSS是一种用于发布新闻、博客和其他定期更新内容的格式...
2. XML解析:要读取RSS数据,我们需要解析XML文件。在JavaScript中,可以使用DOMParser对象来实现。首先,将RSS feed URL通过AJAX请求获取,然后用DOMParser解析返回的XML字符串。 3. AJAX请求:利用XMLHttpRequest...
- 读取RSS feed首先需要解析XML文件。在Python中,可以使用`feedparser`库,它能自动处理不同版本和变体的RSS feed。 - 使用`feedparser.parse(url)`方法,传入RSS feed的URL,即可获取到一个解析后的对象,包含了...
android-rss, 用于读取 RSS 2.0提要部分的轻量级Android库 软件包:org.mcsoxford.rss 许可:Apache许可版本 2.0作者: A 描述:用于读取 RSS 2.0提要部分的轻量级Android库。安装添加为 Maven/gradle依赖项: ...
ASP.NET 读取 RSS 的方法 ASP.NET 读取 RSS 的方法是指使用 ASP.NET 框架从 RSS 源中提取数据的方法。RSS(Really Simple Syndication)是一种广泛使用的 XML 格式,用于描述和 syndicating 网站的内容。ASP.NET ...
RSS种子读取,频道解析,详细信息读取 根据RSSUrl获取所有List数据(Rome1.0) Rome优点:1.可扩展性好。2.功能强大,除了用来解析RSS,还可以聚合和构造RSS。 Rome缺点:1.兼容性待加强.2.绑定jdom。
在Android平台上,RSS(Really Simple Syndication)是一种广泛使用的数据格式,用于订阅和获取网站的最新内容,如新闻、博客文章或播客。本实例"rss_reader"是针对这一功能的实现,它允许用户轻松地浏览和阅读RSS源...
这些类可以帮助读取和解析RSS feed的XML数据。开发者需要理解RSS 2.0或Atom等常见规范,以便正确解析和提取信息。在处理RSS feed时,关键步骤包括: 1. 连接到RSS URL:使用HttpClient或WebClient类从网络获取RSS ...
在描述中提到的“博文链接”,可能是一个详细的教程,讲解如何使用Java来生成RSS XML文件和读取RSS URL。通常,这会涉及到以下几个步骤: 1. **生成RSS XML**:这通常需要使用Java的XML处理库,如JDOM(Java ...
在Windows 8应用商店程序中读取RSS是一项关键技能,特别是在开发新闻聚合或信息更新类应用时。RSS(Really Simple Syndication)是一种订阅和分享网络内容的格式,它允许用户通过阅读器获取网站的更新而无需直接访问...
### JavaScript读取RSS数据 #### 知识点概述 在Web开发中,RSS(Really Simple Syndication)是一种常用的格式,用于聚合多个来源的信息并展示在单一的位置。这使得用户能够订阅多个网站的内容,并在一个地方阅读...
开发RSS Feed需要对XML和RSS规范有深入理解,使用编程语言(如Python、PHP等)创建XML文件,并遵循RSS 2.0或其他版本的规范。 8. **RSS扩展** 除了基本的RSS 2.0规范,还有许多扩展如iTunes RSS扩展用于播客,...
本教程将深入探讨四种在Android中读取RSS XML源代码的方法,并提供可直接运行的程序示例。 一、SAX解析器 SAX(Simple API for XML)是一种事件驱动的解析器,它在读取XML文件时触发事件,如开始元素、结束元素等。...
- 读取RSS feed:解析XML文档,提取频道信息和条目详情。 - 创建RSS feed:构造RSS结构,添加频道和条目信息,生成XML输出。 - 更新RSS feed:修改现有RSS feed的内容,如添加、删除或更新条目。 - 集成RSS功能:将...
在JavaScript中解析XML文件,可以使用`XMLHttpRequest`对象或者现代浏览器支持的`fetch` API来获取RSS源数据。以下是一个使用`fetch`的例子: ```javascript fetch('http://example.com/rss.xml') .then(response ...