Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios swift中的HTML解析_Ios_Swift_Html Parsing - Fatal编程技术网

Ios swift中的HTML解析

Ios swift中的HTML解析,ios,swift,html-parsing,Ios,Swift,Html Parsing,我正在将html内容从objective c解析为swift,作为 var tutorialsURL = NSURL(string: "http://www.raywenderlich.com/tutorials") var tutorialsHTMLData: NSData = NSData(contentsOfURL: tutorialsURL) var tutorialsParser = TFHpple(HTMLData: tutorialsHTMLData)

我正在将html内容从objective c解析为swift,作为

    var tutorialsURL = NSURL(string: "http://www.raywenderlich.com/tutorials")
    var tutorialsHTMLData: NSData = NSData(contentsOfURL: tutorialsURL)
    var tutorialsParser = TFHpple(HTMLData: tutorialsHTMLData)
    var tutorialsXPathString = "//div[@class='content-wrapper']/ul/li/a"
    var tutorialNodes = tutorialsParser.searchWithXPathQuery(tutorialsXPathString)
    var newTutorials: NSMutableArray = [0]

    for element in tutorialNodes
    {
        var elementTwo: TFHppleElement = element as TFHppleElement
        var tutorial = Tutorial()

        println("my data in element2 \(elementTwo)")
        println("\(tutorial)")
        newTutorials.addObject(tutorial)

        tutorial.title = elementTwo.firstChild.content as String!

        tutorial.url = elementTwo.objectForKey("href")


    }
    objects = newTutorials
    tableView.reloadData()

}
但是当我运行这个程序时,我得到了类似于致命错误的错误:在展开可选值时意外地发现了nil


有人帮我解决问题吗?

经过一番努力,我找到了问题的解决方案,在节点上,***var tutorialxpathString=“//div[@class='content-wrapper']]/ul/li/a”**没有正确给出, 我已经尝试了另一个url,并正确地给出了searchpathstring,问题得到了解决

   func loadTutorial()
   {

    var tutorialsURL = NSURL(string: "http://www.worldgeneralknowledge.com/important_books_and_aurther.html")
    var htmlData: NSData = NSData(contentsOfURL: tutorialsURL)
    var tutorialsParser = TFHpple(HTMLData: htmlData)
    var tutorialsXPathString = "//table/tr/td[@class=\"tr_dark\"]"
    var tutorialNodes = tutorialsParser.searchWithXPathQuery(tutorialsXPathString) as NSArray
    if(tutorialNodes.count == 0)
    {
        println("empty here")
    }
    else
    {
        for element in tutorialNodes
        {
            var elementTwo: TFHppleElement = element as TFHppleElement
            var tutorial = Tutorial()
            println("\(elementTwo.firstChild.content)")
            tutorial.title = elementTwo.firstChild.content as String!
            objects.addObject(tutorial.title)
        }
        tableView.reloadData()

    }
}
如果需要,还可以通过将其指定为searchpathstring来搜索更多节点,并且可以将它们添加到单个数组中,然后可以打印内容


谢谢。

您在哪一行收到此错误?确切地说是在
tutorial.title=elementTwo.firstChild.content as String
tutorial.url=elementTwo.objectForKey(“href”)
在这两行中