2011-05-09 3 views

답변

2

XPAth를 사용하여 HTML을 구문 분석합니다. RSS + XML을 사용 XPath 식 //link[@type=\"application/rss+xml\"]/@href을 찾으려면 및 원자 + XML은 lib2xml 파서를 사용하는 아래의 코드와 내가 hpple wrapper를 기반으로 구축 한 래퍼 같은 //link[@type=\"application/atom+xml\"]/@href

뭔가를 사용하여 찾을 수 있습니다. 하지만 일부 의사 코드 아이디어에 사용할 수 있습니다. NSURL의 피드 URL 배열을 반환합니다. 또한이 코드는 NSData 구조에서 검색 할 HTML이 있다고 가정합니다. 나는이 방법을 구현

-(NSArray *)getRSSFeedsUrlFromData:(NSData *)data { 
    NSMutableArray *rssFeeds = [[[NSMutableArray alloc] init] autorelease]; 
    Document *doc = [[Document alloc] initWithHTMLData:data]; 

    //rss+xml 
    NSString *kXPathQuery1 = @"//link[@type=\"application/rss+xml\"]/@href"; 
    NSArray *elements1 = [doc search:kXPathQuery1]; 
    for (DocumentElement *element in elements1) { 
     [rssFeeds addObject:[NSURL URLWithString:[element content]]]; 
    } 

    //atom+xml 
    NSString *kXPathQuery3 = @"//link[@type=\"application/atom+xml\"]/@href"; 
    NSArray *elements3 = [doc search:kXPathQuery3]; 
    for (DocumentElement *element in elements3) { 
     [rssFeeds addObject:[NSURL URLWithString:[element content]]]; 
    } 

    [doc release]; 
    return rssFeeds; 
} 
+0

선생님은 " '문서'선언되지 않은 (이 기능에서 처음 사용)"로 16 오류를 표시 내가 선생님 –

+0

을 할 수있는 내가 당신을 위해 의사 형 코드로 사용하는 코드였다. Document 및 DocumentElement 객체는 표준 SDK 클래스가 아닙니다. 나는 그들 자신을 썼고 hpple lib2xml 파서를 기반으로 대답했다. 이것은 복사하여 붙여 넣기 대답이 아니지만 이전에 사용한 방법입니다. 당신은 제안을 요구했고, 나는 당신에게 하나를 주었다! – Damien

관련 문제