将 Html 解析为 NSDictionaryDio esiste e vive a Bruxelles

问题描述 投票:0回答:2

我正在尝试使用

NSXMLParser
阅读 RSS,没关系。

这是我正在使用的 XML 的摘录:

<item>
<title>Dio esiste e vive a Bruxelles</title>
<link>
http://www.mymovies.it/film/2015/letoutnouveautestament/
</link>
<guid isPermaLink="true">
http://www.mymovies.it/film/2015/letoutnouveautestament/
</guid>
<description>
<a href= "http://www.mymovies.it/film/2015/letoutnouveautestament/" title="Dio esiste e vive a Bruxelles" alt="DIO ESISTE E VIVE A BRUXELLES"" target="_blank">
<img src= "http://www.mymovies.it/filmclub/2015/05/113/mini.jpg" align="left" style="border:solid 1px #aeaeae; padding:3px; float:left; margin-right:3px; margin-top:3px;"/>
</a><b>Dio c'è, e vive a Bruxelles</b><br />
<![CDATA[...]]>
<![CDATA[...]]>
<![CDATA[...]]>
<![CDATA[...]]>
<![CDATA[...]]>
<![CDATA[...]]>
<span style="background-color:Green; padding:2px; color:White; font-size:9px; font-weight:bold;">Consigliato: Sì</span>
<br /> Regia di <a href="http://www.mymovies.it/biografia/?r=7593">Jaco Van Dormael</a>. 
Con <a href="http://www.mymovies.it/biografia/?a=199455">Pili Groyne</a>, 
<a href="http://www.mymovies.it/biografia/?a=70842">Benoît Poelvoorde</a>,   
<br /> Genere <a href= "http://www.mymovies.it/film/commedia/" title="Film commedia" target="_blank">Commedia</a>
 - Lussemburgo, Francia, Belgio, <a href= "http://www.mymovies.it/film/?anno=2015" title="Film 2015" target="_blank">2015</a>. 
Durata 113 minuti circa.<br/><br/>
<p style="text-align:justify; margin:0px; padding:0px;" >Dio esiste e vive a Bruxelles con una moglie timorosa e una figlia ribelle. Il figlio, più celebre di lui, è fuggito molti anni prima per conoscere gli uomini più da vicino, morire per loro e lasciare testimonianza e testamento ai suoi dodici apostoli. Egoista e bisbetico, Dio governa il mondo da un personal computer facendo letteralmente il bello e il cattivo tempo sugli uomini. Ostacolato da Ea, decisa a seguire le orme del fratello e a fuggire il 'suo regno', la bambina si 'confronta' con JC (Jesus Christ) ed evade dall'oblò della lavatrice. Espulsa dentro una lavanderia self-service infila la via del mondo, recluta sei apostoli e si prepara a combattere l'ira di Dio, a cui ha manomesso il computer e di cui ha denunciato il sadismo, spedendo agli uomini via sms la data del loro decesso.</b><br /><br />
<b>A Roma: </b><br /> - 
<a href= "http://www.mymovies.it/cinema/roma/4912/" target="_blank">Cinema Mignon</a> (15:30 - - - 17:40 - - - 20:10 - - - 22:30) <br /> - 
<a href= "http://www.mymovies.it/cinema/roma/5255/" target="_blank">Cinema Eden Film Center</a> (15:00 - - - 17:30 - - - 19:40 - - - 22:10) <br /> - 
<a href= "http://www.mymovies.it/cinema/roma/20401/" target="_blank">Cinema Uci Cinemas Roma Est</a> (19:30 - - - 22:10) <br /> - 
<a href= "http://www.mymovies.it/cinema/roma/6882/" target="_blank">Cinema Uci Cinemas Parco Leonardo</a> (16:40 - - - 19:15 - - - 21:50) <br />
<div style="background-color:#D6D6D8; padding:3px;" ><a href= "http://www.mymovies.it/cinema/roma/provincia/?f=84872" title="Orari e programmazione DIO ESISTE E VIVE A BRUXELLES" target="_blank">Orari e Programmazione</a> | <a href= "http://www.mymovies.it/film/2015/letoutnouveautestament/" title="Recensione Dio esiste e vive a Bruxelles" target="_blank">Recensione</a> | <a href= "http://www.mymovies.it/film/2015/letoutnouveautestament/rassegnastampa/" title="Critica Dio esiste e vive a Bruxelles" target="_blank">Critica</a> | <a href= "http://www.mymovies.it/film/2015/letoutnouveautestament/trailer/" title="Trailer Dio esiste e vive a Bruxelles" target="_blank">Trailer</a> | <a href= "http://www.mymovies.it/film/2015/letoutnouveautestament/poster/" title="Locandina Dio esiste e vive a Bruxelles" target="_blank">Locandina</a></div><br /><br />
</description>
<category>film</category>
<category>recensioni</category>
<category>critica</category>
<category>trailer</category>
<category>locandine</category>
<category>cinema</category>
<category>di Roma</category>
</item>

目标是获取元素内部的信息

<description>
尤其是有关电影院时间表的信息:

A Roma: </b><br /> - 
<a href= "http://www.mymovies.it/cinema/roma/4912/" target="_blank">Cinema Mignon</a> (15:30 - - - 17:40 - - - 20:10 - - - 22:30) <br /> - 
<a href= "http://www.mymovies.it/cinema/roma/5255/" target="_blank">Cinema Eden Film Center</a>(15:00 - - - 17:30 - - - 19:40 - - - 22:10) <br /> - 
<a href= "http://www.mymovies.it/cinema/roma/20401/" target="_blank">Cinema Uci Cinemas Roma Est</a> (19:30 - - - 22:10) <br /> - 
<a href= "http://www.mymovies.it/cinema/roma/6882/" target="_blank">Cinema Uci Cinemas Parco Leonardo</a> (16:40 - - - 19:15 - - - 21:50) <br /> - 
<a href= "http://www.mymovies.it/cinema/roma/20642/" target="_blank">Cinema Uci Cinemas Porta di Roma</a> (21:50) <br /> - 
<a href= "http://www.mymovies.it/cinema/roma/5247/" target="_blank">Cinema Greenwich</a> (16:00 - - - 18:15 - - - 20:30 - - - 22:40)

输出应该是:Cinema Mignon (15:30 - - - 17:40 - - - 20:10 - - - 22:30)

我正在尝试使用库Hpple,但问题出在这里:

-(void)parserDidEndDocument:(NSXMLParser *)parser {

  //feeds is an NSMutableArray that has all information from Xml
  NSString *descr = [[feeds objectAtIndex:0] valueForKey:@"description"];
    
  //this is not null
  NSData *data = [descr dataUsingEncoding:NSUTF8StringEncoding];

  TFHpple *doc = [[TFHpple alloc] initWithHTMLData:data];

  NSArray *elements = [doc searchWithXPathQuery:@" "]; ????????

searchWithXPathQuery
我应该写什么?没有类或 ID 或其他东西可以让我识别我需要什么。

ios objective-c xml rss hpple
2个回答
2
投票

我也在做同样的事情,并且使用了this pod 库。


2
投票

你不能先解析整个XML,然后使用正则表达式或类似的东西来解析“description”标签的内容吗?

对于“http://www.mymovies.it/cinema/roma/4912/” target="_blank">电影院 Mignon (15:30 - - - 17:40 - - - 20:10 - - - 22:30 )

你会得到类似的东西(我只是在“/”之间写正则表达式,而不用担心你使用的是哪种语言。只是为了澄清一下,“/”是转义的“/”)

/(.?)(.?)/

在正则表达式第 1 组中,您将找到“Cinema Mignon”,而在第 2 组中,您将找到“(15:30 - - - 17:40 - - - 20:10 - - - 22:30)”。

定期体验。可以进一步改进直接提取时间表。

© www.soinside.com 2019 - 2024. All rights reserved.