我是 swift 的新手,需要一点帮助。
我想从已使用
转换为字符串的 img 标签中获取 src 值string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
我正在从博客中检索帖子并尝试从每个项目中获取图像 url,以便我可以检索图像并将其显示在 ImageView 中。
这是我的代码:
类 myTableViewController: UITableViewController, NSXMLParserDelegate {
var parser: NSXMLParser = NSXMLParser()
var blogPosts: [BlogPost] = []
var postTitle: String = String()
var eName: String = String()
override func viewDidLoad() {
super.viewDidLoad()
let url:NSURL = NSURL(string: "http://myurl.com")!
parser = NSXMLParser(contentsOfURL: url)!
parser.delegate = self
parser.parse()
}
func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) {
eName = elementName
if elementName == "item" {
postTitle = String()
}
}
func parser(parser: NSXMLParser, foundCharacters string: String) {
let data = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
if (!data.isEmpty) {
if eName == "title" {
postTitle += data
} else if eName == "content:encoded" {
//get the img src from data
}
}
}
Blogpost 类:
BlogPost 类 {
var postTitle: String = String()
最佳答案
既然我能够解决问题,那么我可以回答我的问题,因为它是允许的。
我实现了 Kanna Framework 并使用 doc.at_css("img") 获取图像标签,然后是 node["src"]!对于 img src 值。更多信息 https://github.com/tid-kijyun/Kanna
这是我的代码:
func parser(parser: NSXMLParser, foundCharacters string: String) {
let data = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
if (!data.isEmpty) {
if eName == "content:encoded" {
if let doc = Kanna.HTML(html: data, encoding: NSUTF8StringEncoding) {
if let node = doc.at_css("img") {
postImageUrl = node["src"]!
}
}
}
}
}
关于html - 如何在swift中从字符串中获取html属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33692142/