2016-02-25 3 views
0

Я использую фреймворк Kanna для использования синтаксического анализа xpath. Я успешно получаю текст из моего желаемого URL, используя следующий код:Swift/iOS/Kanna/разобрать изображение из html с помощью xpath

@IBAction func getSource(sender: AnyObject) { 

    if let doc = Kanna.HTML(url: (NSURL(string: "http://qwertz.com")!), encoding: NSUTF8StringEncoding) { 


     // Search for nodes by XPath 
     for link in doc.xpath(".//*[@id='bday_form']/div[1]/img[1]") { 
      print(link.text) 
      print(link["href"]) 

      self.testLabel.text = link.text 
     } 
    } 

    print("test22") 

} 

Как я могу разобрать изображения и поместить их в мой ImageView Outlet @IBOutlet weak var imageViewOutlet: UIImageView!

Помощь очень ценится.

self.imageViewOutlet.image = link 

throws: Нельзя присвоить значение типа «XMLElement» для ввода «UIImage?»

ответ

1

Вы должны загрузить изображение перед назначением UIImageView. Существует действительно хорошая библиотека для загрузки изображения из Интернета. Он также имеет быструю поддержку.

Вот: https://github.com/rs/SDWebImage

Вот пример:

NSURL *url = [NSURL URLWithString:link] 
[self.imageView sd_setImageWithURL:url]; 
+0

можно ли найти изображения, используя css/xpath, используя эту библиотеку? –

+0

Нет, вам нужно получить URL-адрес изображения, используя другую библиотеку. Я думаю, у вас уже есть url из css/xpath. Просто используйте sdwebImage для загрузки изображения с URL-адреса. –

1

вам нужно загрузить изображение из URL, а затем создать UIImage

Вот пример того, как сделать это Loading/Downloading image from URL on Swift, где самый короткий подход (от @Lucas Эдуардо) выглядит следующим образом

let url = NSURL(string: image.url) 
let data = NSData(contentsOfURL: url!) 
imageURL.image = UIImage(data: data!) 
+0

есть хорошее решение, но это на самом деле не соответствует моим потребностям, так как я должен получить изображения с помощью XPath. в решении я могу только найти их жестко закодированные –

+0

ОК - так это вопрос из двух частей? как найти все изображения, а также как их отображать? – Russell

+0

есть. Я знаю, что могу найти их, используя xpath-contains: "xy". Я знаком с этим в java. но да. Мне нужно отобразить их в виде коллекции. –

Смежные вопросы