J'ai le flux RSS suivant que j'essaie d'analyser à l'aide de touchXML pour une application iphone.Analyser `<media: content>` Balises de flux RSS à l'aide de touchXML
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:ext="http://ooyala.com/syndication/ext/" xmlns:mediasl="http://www.slide.com/funspace/developer/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:boxee="http://boxee.tv/spec/rss/">
<channel>
<title>Channel Title</title>
<description>Channel Description</description>
<link>link</link>
<item>
<title>title</title>
<guid isPermaLink="false">k2dDRpMTpto4kdpU_NhGmNGKRK0Ny0PH</guid>
<pubDate>Fri, 25 Jun 2010 06:53:48 +0000</pubDate>
<media:title>title</media:title>
<media:keywords>Others</media:keywords>
<media:category scheme="http://www.ooyala.com">/JBay10</media:category>
<media:category scheme="http://www.ooyala.com">/JBay10/Webisodes</media:category>
<media:thumbnail url="http://ak.c.ooyala.com/k2dDRpMTpto4kdpU_NhGmNGKRK0Ny0PH/BqcWmm1bH0zjWgL35lMDoxOjBrO7OBB8" width="640" height="360"/>
<dcterms:valid>start=2010-06-25T06:53+00:00;scheme=W3C-DTF</dcterms:valid>
<media:group>
<media:content url="http://api.ooyala.com/syndication/stream_redirect?pcode=N2d2U6Azh1SxAcZeoJia-srBQAtY&expires=1277743230&streamID=2678810&signature=beZ2o45XNredayqbtIzzL7khsnt1EEjwByf0yMgSEv8&size=20985109&length=163280" type="video/mp4" medium="video" expression="full" bitrate="900" framerate="25.0" samplingrate="32.0" duration="163" lang="en"/>
</media:group>
</item>
...
</channel>
Le problème que je vais avoir est que je ne peux pas accéder aux balises <media:...>
surtout l'URL à <media:content>
. Le code J'utilise la méthode suivante pour analyser le flux rss.
-(NSMutableArray *) grabXMLFeed:(NSString *)feedAddress{
NSURL *url = [NSURL URLWithString: feedAddress];
CXMLDocument *rssParser = [[[CXMLDocument alloc] initWithContentsOfURL:url options:0 error:nil] autorelease];
NSArray *resultNodes = NULL;
resultNodes = [rssParser nodesForXPath:@"//item" error:nil];
NSMutableArray *videos = [[NSMutableArray alloc] init];
for (CXMLElement *resultElement in resultNodes) {
int counter;
NSMutableDictionary *video = [[NSMutableDictionary alloc] init];
for(counter = 0; counter < [resultElement childCount]; counter++) {
NSString *val = [[resultElement childAtIndex:counter] stringValue];
if ([val length] != 0) {
[video setObject:[[resultElement childAtIndex:counter] stringValue] forKey:[[resultElement childAtIndex:counter] name]];
}
}
[videos addObject:[video copy]];
[video release];
}
return videos;
}
Que puis-je faire pour obtenir l'URL stocké à la <media:content>
?
Merci
Hi;) C'est une donnée d'espace de noms. Je ne suis pas sûr mais sur la page de code google de TouchXML la feuille de route ils mentionnent le support d'espace de noms: http://code.google.com/p/touchcode/wiki/TouchXML – rogeriopvl
Pourquoi n'utilisez-vous pas NSXMLParser? – Warrior
Ok, je vais le faire. – ametade