使用XPath / Hpple / Objective-C获取href值

时间:2012-06-28 22:46:42

标签: html xpath href hpple

我尝试了对我有意义的一切(而且没有成功)。我有以下html代码,我尝试在Objective-C中使用XPath进行解析:

<tr style="background-color: #eaeaea">
   <td class="content">
      <a href="index.php?cmd=search&id=foo">bar</a>
   </td>
</tr>

我通过"bar"获得//tr/td[@class='content']/a/text()

但我不知道如何获得index.php?cmd=search&id=foo

这真让我绝望: - (

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:2)

经过整夜(再次)尝试后,我发现了如何解决我的问题:

//Put the elements in an array
NSArray *someArray = [xpathParser searchWithXPathQuery:@"//tr/td[@class='content']/a"];

//Just one possibility to make a for-loop
for (TFHppleElement *element in someArray) {
    //This is the important line:
    NSString *myURL = [[element attributes] objectForKey:@"href"];
    //Do whatever you want with myURL
}

我希望能帮助那里的一些人!

答案 1 :(得分:1)

要通过XPATH获取href部分,您需要在属性名称前使用@符号。

//tr/td[@class='content']/a/@href

更新:

看来,你指的是iphone。

尝试这样的方法来获取属性值

NSArray *link = [xmlData valueForKey:@"href"];