2

私はiPhone開発に不慣れです。xmlファイルから画像のURLを解析してRSSフィードに表示したいです。3つの画像のURLがありますが、1つのURLだけを取得して表示したいと思います。

<entry>
<id>xxxxx</id>
<title>xxx xxxx xxxx</title>
<content>xxxxxxxxxxx</content>
<media:group>
<media:thumbnail url="http://tiger.jpg"/>
<media:thumbnail url="http://lion.jpg"/>
<media:thumbnail url="http://elephan.jpg"/>
</media:group>
</entry>
<entry>
<id>xxxxx</id>
<title>xxx xxxx xxxx</title>
<content>xxxxxxxxxxx</content>
<media:group>
<media:thumbnail url="http://parrot.jpg"/>
<media:thumbnail url="http://peacock.jpg"/>
<media:thumbnail url="http://sparrow.jpg"/>
</media:group>
</entry>

それを解析するため

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName     namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes: (NSDictionary *)attributeDict{   

currentElement = [elementName copy];
if ([elementName isEqualToString:@"entry"]) {
entry = [[NSMutableDictionary alloc] init];
currentTitle = [[NSMutableString alloc] init];
currentDate = [[NSMutableString alloc] init];
NSLog(@"inside image1 ");
}else if([elementName isEqualToString:@"media:thumbnail"])
{
if(myUrl==nil){
    NSString* myUrl = [NSString stringWithString:[attributeDict objectForKey:@"url"]];
}
}   

}.

虎とオウムの画像だけを取得したいのですが、虎を2回取得しています。手伝ってください。ありがとうございます。

4

2 に答える 2

2

が表示されたときにリセットするパーサー デリゲートにフラグを保持するだけです<media:group>。それからあなたが得るたびに<media:thumbnail>あなたが得る。次に、 を取得するたびに<media:thumbnail>、フラグが設定されているかどうかを確認します。そうでない場合は、これが最初のものであるため、データを取得してフラグを設定します。次が表示<media:thumbnail>されたら、フラグが設定されているため無視します。

あなたの場合、myUrlフラグです。したがって、<media:group>.

于 2010-02-15T15:09:25.253 に答える
1

entry要素のリセット変数を nil に解析し始めるmyUrlと、「entry」要素ごとに「media:thumbnail」を 1 回解析します。

于 2010-02-15T15:09:15.393 に答える