2017-04-25 67 views
0

我有问题,我需要从网站中获取一些信息,但没有API,因此我将网址转换为字符串,然后使用TFHpple搜索XPath。我是初学者在XPath的那么你应该是什么样子的XPath:在Swift中解析HTML字符串

<a href=q/?s=wig20>WIG20</a></td><td><span id=aq_wig20_c2>2305.67</span></td><td nowrap><span id=aq_wig20_m1><font id=c1>+0.38%</font></span></td><td></td><td nowrap><span id=aq_wig20_d1>9:23</span></td></tr><tr> 
+1

你在找什么?好的例子由维克托发布听到http://stackoverflow.com/questions/31080818/what-is-the-best-practice-to-parse-html-in-swift –

+0

我只需要采取WIG20,2305.67,0.38% ,9:23但HTMLString非常庞大,所以我想聪明地做到这一点 – Laxsion12

回答

0

在我的项目,我使用Kanna它更容易在斯威夫特的项目中使用。

链接到GitHub repo

Kanna,你可以获取你以这种方式需要信息:

let html = "<a href=q/?s=wig20>WIG20</a></td><td><span id=aq_wig20_c2>2305.67</span></td><td nowrap><span id=aq_wig20_m1><font id=c1>+0.38%</font></span></td><td></td><td nowrap><span id=aq_wig20_d1>9:23</span></td></tr><tr>" 

if let doc = Kanna.HTML(html: html, encoding: String.Encoding.utf8) { 
    let bodyNode = doc.body 

    if let inputNodes = bodyNode?.xpath("//a | //span") { 
     for node in inputNodes { 
      print(node.content) 
     } 
    } 
} 

响应:

Optional("WIG20") 
Optional("2305.67") 
Optional("+0.38%") 
Optional("9:23") 

的全部数据均是<a><span> HTML元素。