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

被折叠的 条评论
为什么被折叠?



