Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Swift中解析HTML字符串_Html_Swift_Xpath - Fatal编程技术网

在Swift中解析HTML字符串

在Swift中解析HTML字符串,html,swift,xpath,Html,Swift,Xpath,我有一个问题,我需要从并没有API的网站获取一些信息,所以我获取URL并将其转换为字符串,接下来我使用TFHpple使用XPath进行搜索。我是XPath的初学者,所以您应该如何看待XPath: <a href=q/?s=wig20>WIG20</a></td><td><span id=aq_wig20_c2>2305.67</span></td><td nowrap><span id=aq_w

我有一个问题,我需要从并没有API的网站获取一些信息,所以我获取URL并将其转换为字符串,接下来我使用TFHpple使用XPath进行搜索。我是XPath的初学者,所以您应该如何看待XPath:

<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>
2305.67+0.38%9:23

在我的项目中,我使用的是
Kanna
它在Swift项目中更容易使用

链接到GitHub

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)
      }
   }
 }

所有数据都是html元素,它们是

您在寻找什么?很好的例子是由Victor hear发布的,我只需要拿Wig202305.67,0.38%,9:23,但是HTMLString是巨大的,所以我想做的很聪明
Optional("WIG20")
Optional("2305.67")
Optional("+0.38%")
Optional("9:23")