2012-04-20 44 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]"]