0

我有一个包含链接标签的网站(例如apple.com),例如

<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" 的链接

4

3 回答 3

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];
}

Apples 文档中有一些关于如何进一步使用和访问匹配项的示例:

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

例如,像下面的正则表达式应该为 hrefs 做一些事情:

<link.*?href="(.*?)".*?>
于 2012-04-20T09:39:55.570 回答
0

如果你使用 jquery, $("link").attr("title") --> print "RSS" $("link").attr("href") --> print http:// *

如果要获取href 内容,请使用jquery ajax。$.get("http:// * ", function(result){});

于 2012-04-20T09:35:22.307 回答
0

使用该选项创建一个NSXMLDocumentusing 。然后,您可以导航以 开头的节点层次结构。或者,您可以使用 XPath,例如.-initWithContentsOfURL:options:error:NSXMLDocumentTidyHTML-rootElement[doc nodesForXPath:@"//link@title"]

于 2012-04-20T10:34:51.077 回答