[英]How do you show web view with XML parsed variable in Swift 3?
I'm pretty stuck in showing XML parsed data to web view. 我非常坚持将XML解析数据显示到Web视图中。
import UIKit
import Fuzi
class ViewController: UIViewController {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let myURLString = "https://www.naver.com"
var myHTMLString = ""
guard let myURL = URL(string: myURLString) else {
print("Error: \(myURLString) doesn't seem to be a valid URL")
return
}
do {
myHTMLString = try String(contentsOf: myURL, encoding: .ascii)
} catch let error {
print("Error: \(error)")
}
do {
let doc = try! HTMLDocument(string: myHTMLString, encoding: String.Encoding.utf8)
// XPath queries
if let firstDiv = doc.firstChild(xpath: "//*[@id='PM_ID_ct']/div[@class='container']") {
print("44444")
print(firstDiv)
let body:String = firstDiv
webView.loadHTMLString(firstDiv as String, baseURL: nil)
}
} catch let error{
print(error)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
The XML parsed well but when I put the xml variable into web view it makes an error. XML解析得很好但是当我将xml变量放入Web视图时会出错。 The error is: 错误是:
Cannot convert value of type 'XMLElement' to specified type 'String' 无法将“XMLElement”类型的值转换为指定类型“String”
Edit Here is one more try 编辑这是另一个尝试
When I changed 当我改变
let body:String = firstDiv
to 至
let body:String = firstDiv.stringValue
It removes all the tags and attributes and remained only texts 它删除所有标签和属性,仅保留文本
stringValue only return strings. stringValue只返回字符串。 The correct method should be: 正确的方法应该是:
let body:String = firstDiv.rawXML
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.