【问题标题】:A swift wrapper around libxml for parsing HTML用于解析 HTML 的 libxml 的快速包装器
【发布时间】:2015-02-27 04:56:24
【问题描述】:

我收到一条奇怪的错误消息,说“Extra argument 'endocing' in call”,但它在方法中,所以它不是一个额外的参数?为什么会发生这种情况,我该如何解决?如您所见,在声明变量“parser”时会出现错误消息。谢谢!

if let checkedUrl = NSURL(string:"http://www.mobladet.se") {

            if let htmlString = String(contentsOfURL: checkedUrl, encoding: NSUTF8StringEncoding, error: nil) {

                // Parsing HTML

                let opt = CInt(HTML_PARSE_NOERROR.value | HTML_PARSE_RECOVER.value)

                var err : NSError?

                var parser = HTMLParser(html: htmlString, encoding: NSUTF8StringEncoding, option: opt, error: &err)

                var bodyNode = parser.body

                // Create an array of the part of HTML you need

                if let inputNodes = bodyNode?.findChildTags("h4") {

                    for node in inputNodes {

                        let result = html2String(node.rawContents)

                        println(result)

                    }
                }

            } else {

                println("Could not load HTML Content")
            }
        }

【问题讨论】:

  • html 应该是要解析的 HTML 代码,而不是 NSURL
  • 你需要获取你的 NSURL 内容,然后他们解析它
  • 是的,我现在关注你了,抱歉这么愚蠢 =(你能给我一个简短的例子吗?我应该这样做吗?非常感谢!
  • @看我贴出来的答案

标签: html xcode parsing swift ios8


【解决方案1】:

html 应该是要解析的 HTML 代码,而不是 NSURL。您需要使用 String(contentsOfURL:) 来提取其内容并解析它

if let checkedUrl = NSURL(string:"http://stackoverflow.com/questions/28751228/a-swift-wrapper-around-libxml-for-parsing-html"){
    if let htmlString = String(contentsOfURL: checkedUrl, encoding: NSUTF8StringEncoding, error: nil) {

        println(htmlString)
    } else {
        println("could not load html string from the url")
    }
} else {
    println("invalid url")
}

【讨论】:

  • String 返回一个可选字符串,你应该安全地打开你的 url 和你的字符串,以防其中一个返回 nil
  • 谢谢!它现在有效 =) 很抱歉再次询问,但我是这个解析东西的新手 =) 我怎么能得到这篇文章的标题:

    Senaste nyheterna

  • 我已经回答过很多次了,如果它解决了问题,我会找到答案,只要投票就可以了
  • 我已经编辑了上面链接的答案,并包含了 NSAttributedString 扩展名
猜你喜欢
  • 2011-11-30
  • 2018-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-29
  • 2012-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多