There is my XML data:
<item>
<title>The Powerful Academician Able to Reduce Tobacco Hazards</title>
<link>http://china15min.com/2013/03/26/the-powerful-academician-able-to-reduce-tobacco-hazards/</link>
<comments>http://china15min.com/2013/03/26/the-powerful-academician-able-to-reduce-tobacco-hazards/#comments</comments>
<pubDate>Tue, 26 Mar 2013 08:43:37 +0000</pubDate>
<dc:creator>Panda Walking</dc:creator>
<category><![CDATA[Economics]]></category>
<category><![CDATA[Academician of Chinese Engineering Academy]]></category>
<category><![CDATA[China Tobacco Control Association]]></category>
<category><![CDATA[China's tobacco industry]]></category>
<category><![CDATA[CORESTA]]></category>
<category><![CDATA[low-tar cigarettes in China]]></category>
<category><![CDATA[signatory country of the World Health Assembly on Tobacco Control Framework Convention]]></category>
<category><![CDATA[smokers in China]]></category>
<category><![CDATA[Xie Jian Ping]]></category>
<category><![CDATA[Yunnan]]></category>
<guid isPermaLink="false">http://china15min.com/?p=1891</guid>
<description><![CDATA[During the two sessions, the deputies of NPC are obliged to answer journalists’ questions, which may include special topics besides national affairs. For example, why is the “tobacco academician” able to keep his position unswayed despite strong opposition from various... <a href="http://china15min.com/2013/03/26/the-powerful-academician-able-to-reduce-tobacco-hazards/" class="read-more">Read More ›</a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=china15min.com&blog=37468365&post=1891&subd=china15min&ref=&feed=1" width="1" height="1" />]]></description>
<wfw:commentRss>http://china15min.com/2013/03/26/the-powerful-academician-able-to-reduce-tobacco-hazards/feed/</wfw:commentRss>
<slash:comments>0</slash:comments>
<media:content url="http://1.gravatar.com/avatar/ad06eed181b094ac3022d4507d38c2b7?s=96&d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&r=G" medium="image">
<media:title type="html">china15min</media:title>
</media:content>
<media:content url="http://china15min.files.wordpress.com/2013/03/xiejinping.jpg" medium="image">
<media:title type="html">xiejinping</media:title>
</media:content>
</item>
With this method I can get "link" , "title" and "pubDate" node,
- (void)parseRss:(GDataXMLElement *)rootElement entries:(NSMutableArray *)entries {
NSArray *channels = [rootElement elementsForName:@"channel"];
for (GDataXMLElement *channel in channels) {
NSString *blogTitle = [channel valueForChild:@"title"];
NSArray *items = [channel elementsForName:@"item"];
for (GDataXMLElement *item in items) {
NSString *articleTitle = [item valueForChild:@"title"];
NSString *articleUrl = [item valueForChild:@"link"];
NSString *articleDateString = [item valueForChild:@"pubDate"];
NSDate *articleDate = [NSDate dateFromInternetDateTimeString:articleDateString formatHint:DateFormatHintRFC822];
BQWRSSEntry *entry = [[BQWRSSEntry alloc] initWithBlogTitle:blogTitle
articleTitle:articleTitle
articleUrl:articleUrl
articleDate:articleDate];
[entries addObject:entry];
}
}
}
And I use the same method to get the "description", but the result string is null.
How can I get the "description" and the second "media:content url" url string "http://china15min.files.wordpress.com/2013/03/xiejinping.jpg"
Please help me and thank you very much.
I don't know why you can't retrieve the description. You can get the value easily like this:
NSString *description = [item valueForChild:@"description"];
Otherwise to retrieve the second "media:content url" url string follow this:
NSArray *mediaContents = [item elementsForName:@"media:content"];
if ([mediaContents count] > 1)
{
GDataXMLElement *media2 = [mediaContents objectAtIndex:1];
GDataXMLNode *urlString = [media2 attributeForName:@"url"];
}
The complete code should looks like that:
- (void)parseRss:(GDataXMLElement *)rootElement entries:(NSMutableArray *)entries {
NSArray *channels = [rootElement elementsForName:@"channel"];
for (GDataXMLElement *channel in channels) {
NSString *blogTitle = [channel valueForChild:@"title"];
NSArray *items = [channel elementsForName:@"item"];
for (GDataXMLElement *item in items) {
NSString *articleTitle = [item valueForChild:@"title"];
NSString *articleUrl = [item valueForChild:@"link"];
NSString *articleDateString = [item valueForChild:@"pubDate"];
NSString *description = [item valueForChild:@"description"];
NSArray *mediaContents = [item elementsForName:@"media:content"];
if ([mediaContents count] > 1)
{
GDataXMLElement *media2 = [mediaContents objectAtIndex:1];
GDataXMLNode *urlString = [media2 attributeForName:@"url"];
}
BQWRSSEntry *entry = [[BQWRSSEntry alloc] initWithBlogTitle:blogTitle
articleTitle:articleTitle
articleUrl:articleUrl
articleDate:articleDate];
[entries addObject:entry];
}
}
}