2016-04-03 10 views
-3

Sorunu çözmeme yardımcı olabilirsiniz umarım. Belirli bir HTML sınıfının iç HTML kodunu bir Swift dizisinde depolamaya çalışıyorum. > Bu bölümde HTML sınıfı "listesinde" iç HTML kodu saklayan -İç HTML Kodunu bir Swift dizisinde saklayın

let array = [ 
["TEXT1", "TEXT2", "TEXT3"], 
["TEXT4", "TEXT5", "TEXT6"], 
... 
] 

:

<html> 
<table> 

<tr class="list"> 
<td class="list"><b>TEXT1</b></td> 
<td class="list">TEXT2</td> 
<td class="list">TEXT3</td> 
</tr> 

<tr class="list"> 
<td class="list"><b>TEXT4</b></td> 
<td class="list">TEXT5</td> 
<td class="list">TEXT6</td> 
</tr> 

... 

</table> 
</html> 

Bu durumda Swift dizi olmalıdır:

İşte benim HTML kodu olduğunu.

Yardımlarınız için teşekkürler!

+0

Cevabıma baktınız mı? –

cevap

1

Sen html ayrıştırmak gerekir ve bazı güzel Swift HTML Ayrıştırma kütüphaneler gibi vardır: örnek olarak bu kullanma

https://github.com/tid-kijyun/Swift-HTML-Parser

, daha sonra ül listesi ve döngü yoluyla çekin li etiketleri kullanarak, aşağıdakileri kullanarak kullanabilirsiniz:

var liArray = Array<AnyObject>() 
let html = "theHtmlYouWannaParse" 

//Parse HTML, handle errors 
var err : NSError? 
var parser = HTMLParser(html: html, error: &err) 
if err != nil { 
    print(err) 
    exit(1) 
} 

var bodyNode = parser.body 

//Find and loop through ul tags 
if let ulNodes = bodyNode?.findChildTags("ul") { 
    for ulNode in ulNodes { 
     //Find and loop through li tags 
     if let liNodes = ulNode?.findChildTags("li") { 
      for liNode in liNodes { 
       //Add to array 
       liArray.append(liNode) 
      } 
     } 
    } 
} 
+0

Mükemmel çalışır. Teşekkür ederim! – Julian135