繁体   English   中英

如何在Swift 3中使用XML解析变量显示Web视图?

[英]How do you show web view with XML parsed variable in Swift 3?

我非常坚持将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.
}


}

XML解析得很好但是当我将xml变量放入Web视图时会出错。 错误是:

无法将“XMLElement”类型的值转换为指定类型“String”

编辑这是另一个尝试

当我改变

let body:String = firstDiv

let body:String = firstDiv.stringValue

它删除所有标签和属性,仅保留文本

stringValue只返回字符串。 正确的方法应该是:

    let body:String = firstDiv.rawXML

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM