1

現在、Youtube API を使用しており、チャンネルから結果を取得しています。ただし、説明を取得しようとすると、常に最後で停止し、&説明の一部しか取得できません。

http://gdata.youtube.com/feeds/api/users/smosh/uploads?max-results=1から XML 情報を取得している Web サイトは次のとおりです。

- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
    if ([elementname isEqualToString:@"content"])
    {
        currentFeed.description = currentNodeContent;
    }

    if ([elementname isEqualToString:@"entry"])
    {
        [self.feeds addObject:currentFeed];
        currentFeed = nil;
        currentNodeContent = nil;
    }
}

内容は動画からの説明を取得しています。

ただし、これらの結果しか得られません


Wardrobe: Paula Barkley Asst. Editor: Justin Dailey | Color: Pretty Moving Pictures BTS: Phil Mohr | Key PA: Brad Westerbeck

------------------------------------ Hey it's our very own website: http://smosh.com Oh and our Facebook page: http://facebook.com/smosh Want to know when we're filming and/or pooping? Now you can:http://twitter.com/smosh Guess we should have a Google+ Page, too: http://google.com/+smosh

これが説明全体の場合:

Bloopers & ALTERNATE SCENES: http://smo.sh/FriendsXTRAS DOWNLOAD OUR NEW GAME: http://smo.sh/HeadEsploder

Ian and Anthony need some new friends.

Cast: Anthony as Himself Ian as Himself Ryan Todd as Stevie Ryan Cicak and Robert Haley as the New Neighbors

Written by: Anthony Padilla, Ian Hecox, & Ryan Finnerty Produced & Directed by: Anthony Padilla, Ian Hecox, & Ryan Todd Edited by: Anthony Padilla & Michael Barryte Post Supervision by: Ian Hecox & Ryan Finnerty

AD: Frank Cosgriff | DP: John Alexander Jimenez Asst. Camera: Shawna Smith | Sound Mixer: Palmer Taylor Gaffer: Kerry Sweeney | Grips: Jon Hooker & Lee Eisenhower Production Design: Patrick Egan | MUA & Wardrobe: Paula Barkley Asst. Editor: Justin Dailey | Color: Pretty Moving Pictures BTS: Phil Mohr | Key PA: Brad Westerbeck

------------------------------------  Hey it's our very own website: http://smosh.com Oh and our Facebook page: >http://facebook.com/smosh Want to know when we're filming and/or pooping? Now you can:http://twitter.com/smosh Guess we should have a Google+ Page, too: http://google.com/+smosh

これが私のクラスファイル全体です

4

1 に答える 1

1

foundCharactersあなたのコードは、 が 1 回の呼び出しで要素の値全体を返すことを前提としてい ます。これは有効な仮定ではありません (特に long 値の場合)。値の残りの部分は への以前の呼び出しで返されましたが、その後の への呼び出しごとに破棄したcontentため、タグの末尾のみが表示されるのはこのためです。foundCharactersfoundCharacters

long 値の場合、一連のイベントは (a) への呼び出しdidStartElementです。(b)foundCharacters値全体が返されるまで、 を複数回呼び出す。最後に (c) への呼び出しdidEndElement

そう:

  1. および要素名のいずれかに遭遇した場合はdidStartElement初期化します。currentNodeContenttitlecontent

    currentNodeContent = [[NSMutableString alloc] init];
    
  2. 次に、to をfoundCharacters追加するだけです:stringcurrentNodeContent

    [currentNodeContent appendString:string];
    

    注意: 文字列がトリミングされていないことを確認してください(トリミングしたい場合は、didEndElementではなく で行いfoundCharactersます)。

  3. 要素名がordidEndElementの場合は保存し、それも に設定する必要があります。currentNodeContenttitlecontentcurrentNodeContentnil

于 2013-07-07T18:04:14.383 に答える