有我的XML数据:
<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>
使用这种方法,我可以获得“link”,“title”和“pubDate”节点,
- (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];
}
}
}
我使用相同的方法来获取“描述”,但结果字符串为空。
如何获取“说明”和第二个“媒体:内容网址”网址字符串 “http://china15min.files.wordpress.com/2013/03/xiejinping.jpg”
请帮助我,非常感谢你。
答案 0 :(得分:2)
我不知道为什么你无法检索描述。您可以像这样轻松获得价值:
NSString *description = [item valueForChild:@"description"];
否则要检索第二个“media:content url”url字符串,请按照以下步骤操作:
NSArray *mediaContents = [item elementsForName:@"media:content"];
if ([mediaContents count] > 1)
{
GDataXMLElement *media2 = [mediaContents objectAtIndex:1];
GDataXMLNode *urlString = [media2 attributeForName:@"url"];
}
完整的代码应如下所示:
- (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];
}
}
}