2012-04-20 42 views
0

得到的鏈接標籤我有一個網站(例如apple.com),其中包含的鏈接標籤,例如HTML解析:如何從遠程站點

<link rel="alternate" type="application/rss+xml" title="RSS" href="http://images.apple.com/main/rss/hotnews/hotnews.rss" /> 

那麼,如何可以從中獲得稱號「RSS」和HREF ?

更新1: 我試過用

NSData *data = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://apple.com/"]] returningResponse:NULL error:NULL]; 
NSString *HTMLWithFeeds = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

現場轉換爲字符串,但我不知道現在該做什麼...

更新2:

從我的帖子不清楚,但除此之外應該在這個網站找到鏈接type =「application/rss + xml」

+0

這是一個字符串?您是否已經在使用XML解析器?請提供更多信息。 – jtbandes 2012-04-20 09:32:12

+0

看我的更新 – user1248568 2012-04-20 09:39:49

回答

1

你可以嘗試使用正則表達式

NSError *error = NULL; 
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<link.*?href="(.*?)".*?>" 
                      options:NSRegularExpressionCaseInsensitive 
                      error:&error]; 

NSArray *matches = [regex matchesInString:string 
            options:0 
            range:NSMakeRange(0, [string length])]; 
for (NSTextCheckingResult *match in matches) { 
    NSRange matchRange = [match range]; 
    NSRange firstHalfRange = [match rangeAtIndex:1]; 
    NSRange secondHalfRange = [match rangeAtIndex:2]; 
} 

蘋果文檔有關於如何進一步使用和訪問比賽的一些例子:

https://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSRegularExpression_Class/Reference/Reference.html

例如類似下面的正則表達式應該爲做的HREF:

<link.*?href="(.*?)".*?> 
0

$(「link」)。attr(「title」) - > print「RSS」 $(「link」)。attr(「href」) - > print http://*

如果你想獲得href的內容,使用jquery ajax。 (「http:// *」,function(result){});

+0

看起來像php代碼... – user1248568 2012-04-20 09:41:39

0

使用-initWithContentsOfURL:options:error:NSXMLDocumentTidyHTML選項創建NSXMLDocument。然後,您可以瀏覽從-rootElement開始的節點層次結構。或者,您可以使用XPath,例如[doc nodesForXPath:@"//[email protected]"]