swift解析html

这篇博客主要介绍了如何在Swift中进行HTML文档的解析,适合初学者。作者提到在选择Swift和Objective-C之间,Swift对Java程序员更为友好。尽管目前Swift的第三方类库不及Objective-C丰富,但预计未来Swift会更占优势。文章推荐了一个名为Swift-HTML-Parser的GitHub项目,提供了详细的步骤,包括将项目文件导入、设置Objective-C桥接头文件、配置搜索路径以及链接库,以实现Swift环境下解析HTML的功能。

近刚刚接触IOS开发,在swift和OC之间纠结了很久,不过对于一个java程序员来说,OC实在有些难以上手,再看看swift,她就友好多了,虽然现在大部分的App都是OC写的,如果想维护它们的话就要懂OC了。而且现在能用于swift的第三方类库的明显少于OC,但是我相信,在苹果的大力推广下,未来一定是swift的天下。

进入正题,想用swift进行HTML文档的解析。网上很多资料都是swift调用OC来进行的,虽然这样做也不是很麻烦,但是对于一个IOS的新手来说还是有点高难度,所以在github上搜了一下,没想到还真有一个swift的Html解析工具:https://github.com/tid-kijyun/Swift-HTML-Parser

1.首先把HTMLParser.swiftHTMLNode.swiftSwift-HTML-Parser-Bridging-Header.h 这三个文件添加到你的项目中。

2.把"Swift-HTML-Parser-Bridging-Header.h" 添加到 "Objective-C Bridging Header"注意是添加,注意的文件路径。

3.在"header search paths" 中设定“/usr/include/libxml2" 


4.在"Link Binary With Libraries"中添加libxml2.dylib



5.调用

import Foundation

let html = "<html><head></head><body><ul><li><input type='image' name='input1' value='string1value' class='abc' /></li><li><input type='image' name='input2' value='string2value' class='def' /></li></ul><span class='spantext'><b>Hello World 1</b></span><span class='spantext'><b>Hello World 2</b></span><a href='example.com'>example(English)</a><a href='example.co.jp'>example(JP)</a></body>"

var err : NSError?
var parser     = HTMLParser(html: html, error: &err)
if err != nil {
    println(err)
    exit(1)
}

var bodyNode   = parser.body

if let inputNodes = bodyNode?.findChildTags("b") {
    for node in inputNodes {
        println(node.contents)
    }
}

if let inputNodes = bodyNode?.findChildTags("a") {
    for node in inputNodes {
        println(node.contents)  //取得内容
        println(node.getAttributeNamed("href")) //取得属性值

    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值