rss解析

<rss version="2.0">
<channel>
<title>
<![CDATA[国际要闻-新浪新闻]]>
</title>
<image>
<title>
<![CDATA[新闻中心-国际新闻]]>
</title>
<link>http://news.sina.com.cn/world</link>
<url>http://www.sinaimg.cn/home/deco/2009/0330/logo_home_news.gif</url>
</image>
<description>
<![CDATA[国际新闻-焦点新闻]]>
</description>
<link>http://news.sina.com.cn/491/2008/0827/1.html</link>
<language>zh-cn</language>
<generator>WWW.SINA.COM.CN</generator>
<ttl>5</ttl>
<copyright>
<![CDATA[Copyright 1996 - 2012 SINA Inc. All Rights Reserved]]>
</copyright>
<pubDate>Thu, 28 Jun 2012 13:57:02 GMT</pubDate>
<category>
<![CDATA[]]>
</category>
<item>
<title>
<![CDATA[俄罗斯称不准备在叙利亚问题采取特别措施]]>
</title>
<link>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/2012-06-28/184124676271.shtml</link>
<author>WWW.SINA.COM.CN</author>
<guid>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/2012-06-28/184124676271.shtml</guid>
<category>
<![CDATA[国际新闻-焦点新闻]]>
</category>
<pubDate>Thu, 28 Jun 2012 10:41:57 GMT</pubDate>
<comments></comments>
<description>
<![CDATA[  新华网莫斯科6月28日电 (记者 周良)俄罗斯武装力量总参谋长马卡罗夫28日在莫斯科表示,尽管叙利亚“已经爆发内战”,但俄罗斯不会因此采取“特别措施”。

           马卡罗夫当天对俄罗斯媒体说,他同意叙利亚总统巴沙尔所说的该国已经爆发内战的说法。但是,俄罗斯不会采取“特....]]>
</description>
</item>
<item>
<title>
<![CDATA[瑞典男子怀疑妻子红杏出墙吃掉其嘴唇]]>
</title>
<link>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/2012-06-28/180524676120.shtml</link>
<author>WWW.SINA.COM.CN</author>
<guid>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/2012-06-28/180524676120.shtml</guid>
<category>
<![CDATA[国际新闻-焦点新闻]]>
</category>
<pubDate>Thu, 28 Jun 2012 10:05:25 GMT</pubDate>
<comments></comments>
<description>
<![CDATA[  据英国《每 日电讯报》6月27日报道,瑞典一名男子因怀疑妻子红杏出墙,一怒之下竟吃掉了她的嘴唇,声称让她以后再也没法跟别的男人接吻。

           这个恐怖的事件发生在今年5月。男子现年 52岁,来自瑞典首都斯德哥尔摩,在当地一所学院担任教授,因为某些原因他的姓名未被透露....]]>
</description>
</item>
<item>
<title>
<![CDATA[视频:日本萌系电视台女主播网络爆红]]>
</title>
<link>http://go.rss.sina.com.cn/redirect.php?url=http://video.sina.com.cn/p/news/w/v/2012-06-28/180461790937.html</link>
<author>WWW.SINA.COM.CN</author>
<guid>http://go.rss.sina.com.cn/redirect.php?url=http://video.sina.com.cn/p/news/w/v/2012-06-28/180461790937.html</guid>
<category>
<![CDATA[国际新闻-焦点新闻]]>
</category>
<pubDate>Thu, 28 Jun 2012 10:04:30 GMT</pubDate>
<comments></comments>
<description>
<![CDATA[  日本电视圈最近吹起一股“甜心主播”风。当中引发网友疯狂讨论的,莫过于今年才22岁的静冈朝日电视台新人主播牧野结美。她一双水汪汪的大眼睛加上甜美笑容,一出道就掳获观众的心。因为初登主播台才几个月,不免紧张猛吃螺丝、不断低头看稿,但网友大多表示可以谅解,理由是“....]]>
</description>
</item>
<item>
<title>
<![CDATA[高清图:微软希腊分公司遭恐怖袭击暂停运营]]>
</title>
<link>http://go.rss.sina.com.cn/redirect.php?url=http://slide.news.sina.com.cn/w/slide_1_2841_24419.html</link>
<author>WWW.SINA.COM.CN</author>
<guid>http://go.rss.sina.com.cn/redirect.php?url=http://slide.news.sina.com.cn/w/slide_1_2841_24419.html</guid>
<category>
<![CDATA[国际新闻-焦点新闻]]>
</category>
<pubDate>Thu, 28 Jun 2012 10:00:23 GMT</pubDate>
<comments></comments>
<description>
<![CDATA[]]>
</description>
</item>
<item>
<title>
<![CDATA[欧洲科学家发现猴面兰花(图)]]>
</title>
<link>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/p/2012-06-28/174824676055.shtml</link>
<author>WWW.SINA.COM.CN</author>
<guid>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/p/2012-06-28/174824676055.shtml</guid>
<category>
<![CDATA[国际新闻-焦点新闻]]>
</category>
<pubDate>Thu, 28 Jun 2012 09:48:40 GMT</pubDate>
<comments></comments>
<description>
<![CDATA[  据英国《每日邮报》6月26日报道,厄瓜多尔境内有一种长着猴子脸的兰花,日前,欧洲的植物学家在厄瓜多尔巧遇猴面兰花,拍到了它们繁花盛开的样子。这种兰花之所以长着一张猴脸,是由花朵的不同部位形成的。比如,猴脸和猴嘴的图案是花朵最里面的唇瓣,颜色有深有浅,而三片像....]]>
</description>
</item>
<item>
<title>
<![CDATA[叙利亚反对派拒绝履行和平计划 除非阿萨德下台]]>
</title>
<link>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/2012-06-28/173524676076.shtml</link>
<author>WWW.SINA.COM.CN</author>
<guid>http://go.rss.sina.com.cn/redirect.php?url=http://news.sina.com.cn/w/2012-06-28/173524676076.shtml</guid>
<category>
<![CDATA[国际新闻-焦点新闻]]>
</category>
<pubDate>Thu, 28 Jun 2012 09:35:00 GMT</pubDate>
<comments></comments>
<description>
<![CDATA[  CNTV消息 (网络新闻联播编译 邹娴 报道)据半岛电视台6月28日报道,叙利亚反对派当天发表声明称,将不会接受联合国特使科菲?安南提出的政府过渡计划,除非计划中明确要求总统巴沙尔?阿萨德下台。

           据联合国外交人士称,安南的提议旨在结束叙利亚长达16个月的冲突,尽管....]]>
</description>
</item>
</channel>
</rss>

解析代码如下:

- (void)viewDidLoad {
    [super viewDidLoad];

	self.title = @"国际要闻";
	self.rssList = [[NSMutableArray alloc] init];

	NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://rss.sina.com.cn/news/world/focus15.xml"]];
	parser.delegate = self;
	[parser parse];
}

#pragma mark -
#pragma mark NSXMLParser delegate Methods

- (void)parserDidStartDocument:(NSXMLParser *)parser {
	NSLog(@"startParser");
}

- (void)parserDidEndDocument:(NSXMLParser *)parser {
	[parser release];
	NSLog(@"%@", rssList);
}

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
	if([elementName isEqualToString:@"item"]) {
		currentItem = [[NSMutableDictionary alloc] init];
	} else if (currentItem != NULL) {
		currentContents = [[NSMutableString alloc] init];
	}
}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
	if([elementName isEqualToString:@"item"]) {
		[rssList addObject:currentItem];
		[currentItem release];
	} else if (currentContents && currentItem) {
		[currentItem setObject:currentContents forKey:elementName];
		[currentContents release];
		currentContents = nil;
	}
}

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock {
	if(currentItem && currentContents) {
		currentContents = [[NSMutableString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding];
	}
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
	if(currentItem && currentContents) {
		[currentContents appendString:string];
	}
}
时间: 2024-08-02 04:04:05

rss解析的相关文章

RSS 解析之 feedpaser 2018-10-02

参考:https://blog.csdn.net/lilong117194/article/details/77323673 RSS的相关介绍 RSS的介绍:https://wikipedia.org/wiki/RSS RSS的XML格式介绍:http://www.w3school.com.cn/rss/rss_syntax.asp feedparser feedparser安装 sudo pip install feedparser 简化的 rss.xml <?xml version="

C# 解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市

百度天气 接口地址:http://api.map.baidu.com/telematics/v3/weather?location=上海&output=json&ak=hXWAgbsCC9UTkBO5V5Qg1WZ9,其中ak是密钥,自行去申请即可,便于大家测试,楼主就公布并了自己的Key,这样可以直接获取到数据. 获取到的数据是这样的: {"error":0,"status":"success","date"

Java从零开始学四十二(DOM解析XML)

一.DOM解析XML xml文件 favorite.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <PhoneInfo name="手机品牌"> <Brand name="华为"> <Type name="U8650"> </Type> </Brand

CozyRSS开发记录8-解析一份RSS

CozyRSS开发记录8-解析一份RSS 1.使用Rss20FeedFormatter解析RSS 使用Rss20FeedFormatter配合XmlReader来解析RSS非常的简单,几行搞定: 来试试效果: 貌似一切顺利,爽的一笔. 2.这是一个悲伤的故事 然而,故事总是没有这么简单.我们再试一下另一个网站的RSS. 虽然可能是因为这个网站提供的RSS不规范造成的,但是这个RSS在别的RSS阅读器都没问题啊! 看看Mono里的代码: 真是呵呵啊. 3.CozyRSS.Syndication 所

C#读取RSS源,并利用Solr索引

折磨我几天的问题今天终于解决了,分享一下近期solr使用的一些经验. 本来是用nutch在爬取页面,可是客户需要爬取RSS,而且可以识别那些页面是通过RSS源抓取出来的.nutch虽然自带解析RSS的插件,但是有些RSS解析不了,也不好控制,更重要的抓取后和普通页面就没什么太大的区别了,不能识别不能判断是由哪个rss源抓取出来的.因为上面原因,所以就自己用C#写了一个配合Solr抓取RSS的工程. 一切实现好后,客户非常满意,我也觉得做的还不错,可是过了一段时间后发现nutch在solrdedu

Android SAX解析XML

1. 简介 1). SAX,全称Simple API for XML,是一种基于事件的解析器. SAX采用事件驱动机制来解析XML文档.什么是事件驱动模式?它将XML文档转换成一系列的事件,由单独的事件处理器来决定如何处理. 每当SAX解析器发现文档开始.元素开始.文本.元素结束.文档结束等事件时,就会向外发送一次事件,而开发者则可以通过编写事件监听器处理这些事件,以此来获取XML文档里的信息. 工作原理: 就是对文档进行顺序扫描,当扫描到文档(document)开始与结束.元素(element

iOS开发网络篇—XML数据的解析

iOS开发网络篇—XML数据的解析 iOS开发网络篇—XML介绍 一.XML简单介绍 XML:全称是Extensible Markup Language,译作“可扩展标记语言” 跟JSON一样,也是常用的一种用于交互的数据格式,一般也叫XML文档(XML Document) XML举例 <videos> <video name="小黄人 第01部" length="30" /> <video name="小黄人 第02部&qu

基于JSP的RSS阅读器

阅读器访问地址:http://easyrss.tk/,欢迎体验! 目录 一.    概述  二.    设计的基本概念和原理  1.    RSS与RSS阅读器概念 2.    阅读器实现原理 三.    设计方案 1.    架构设计 2.    数据库设计 3.    界面设计 4.    功能设计 5.    网络安全补充 四.    主要源代码  1.    视图部分 五.    阅读器使用说明 1.    注册与登录 2.    添加与管理RSS源 3.    阅读文章 概述 获得信息

安卓SAX解析XML文件

XML文件常用的解析方式有DOM解析,SAX解析. 一.Sax SAX(simpleAPIforXML)是一种XML解析的替代方法.相比于DOM,SAX是一种速度更快,更有效的方法.它逐行扫描文档,一边扫描一边解析.而且相比于DOM,SAX可以在解析文档的任意时刻停止解析,但任何事物都有其相反的一面,对于SAX来说就是操作复杂.SAX解析XML文档采用事件驱动模式.什么是事件驱动模式?它将XML文档转换成一系列的事件,由单独的事件处理器来决定如何处理.基于事件驱动的处理模式主要是基于事件源和事件