2010-01-11 92 views
0

我使用下面的url進行rss解析。 http://news.baidu.com/n?cmd=4&class=finannews&tn=rss如何解析rss xml?

但它給出錯誤代碼31.它可能解析這種類型的rss。 如果是的話,請讓我知道這件事。

我正在使用下面的代碼。

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
     NSURL *xmlURL = [NSURL URLWithString:URL];  
     [xmlParser setClassName:className withRootName:rootName]; 
     [xmlParser setDelegate:xmlParser]; 
     [xmlParser setShouldProcessNamespaces:NO]; 
     [xmlParser setShouldReportNamespacePrefixes:NO]; 
     [xmlParser setShouldResolveExternalEntities:NO]; 
     [xmlParser parse]; 
     [m_delegate setData:xmlParser.message items:xmlParser.items]; 
     //[xmlParser release]; 
     [pool release]; 
+1

你是什麼錯誤代碼31分的手段?由於該網站不使用unicode(我認爲)可能是原因的一部分? – lexu 2010-01-11 06:15:38

+0

錯誤雜散31? – 2010-01-11 06:29:08

回答

1

由於feed是中文,所以識別的字符是在某些類型的代碼中。

嘗試解碼這些代碼和飼料會相應

0

解析使用google-data-api像這樣飼料的解析。它會以分類的數據結構的形式爲您提供相關信息。爲了您的幫助,我發佈了一些可能會給您一些提示的代碼。

NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    NSURL *feedURL = [[NSURL alloc] initWithString:url]; 
    NSData *data = [NSData dataWithContentsOfURL:feedURL]; 
    GDataFeedBase *feedBase = [[GDataFeedBase alloc] initWithData:data]; 
    NSArray *linksArr = [feedBase links]; 
    if(feedArray == nil){ 
     [self setFeedArray:[NSMutableArray array]]; 
    } 
    [feedArray addObjectsFromArray:[feedBase entries]]; 
    [feedBase release]; 
    [feedURL release]; 
    [pool release]; 

現在在feed數組中您將獲得相關信息。

希望這會有所幫助。

感謝,

Madhup