我正在尝试解析以下HTML文本以从标记获取数据

<table class=\"table table-condensed\">

   <tr>
  <td colspan =\"2\">
 <h4>New Company</h4>
  </td>
   </tr>

   <tr>
  <td>application</td>
  <td>web</td>
   </tr>

   <tr>
  <td>server_name</td>
  <td>news.com</td>
   </tr>

   <tr>
  <td colspan =\"2\">
 <h4>Internal Machine</h4>
  </td>
   </tr>

   <tr>
  <td>IP</td>
  <td>1.1.1.1</td>
   </tr>

   <tr>
  <td>MAC</td>
  <td>AC:87:87:87:87:87</td>
   </tr>

   <tr>
  <td colspan =\"2\">
 <h4>External Machine</h4>
  </td>
   </tr>

   <tr>
  <td>IP</td>
  <td>217.16.26.161</td>
   </tr>

   <tr>
  <td> Location</td>
  <td>test</td>
   </tr>

   <tr>
  <td colspan =\"2\">
 <h4>Additional Information</h4>
  </td>
   </tr>

   <tr>
  <td>Amount Sent</td>
  <td>00.0 B</td>
   </tr>

   <tr>
  <td>Amount Received</td>
  <td>2.5 KB</td>
   </tr>

   <tr>
  <td>Application</td>
  <td>web</td>
   </tr>

   <tr>
  <td>Ports</td>
  <td>12345, 123</td>
   </tr>

</table>

最佳答案

您可以使用以下库来帮助您在Swift中解析HTML:


Kanna
Fuzi
NDHpple


例如,这可以使用Kanna(未经测试的代码)提取HTML中的所有TD值:

let html = "<html>...</html>"

if let doc = Kanna.HTML(html: html, encoding: NSUTF8StringEncoding) {

    for td in doc.css("td") {
        print(td)
    }
}

10-05 21:03
查看更多