XML/HTML 解析库 Ono
Ono 详细介绍
Ono (斧)是 iOS & Mac OSX 处理 XML & HTML 的一种明智的方法(解析库)。
XML 在 Cocoa 的支持并不好,NSXMLParser 强制要求繁琐的委托模式,这是非常不方便实现的。 NSXMLDocument 有一点好用,但只能在 Mac OS X 工作, 但占用大量内存。
Ono 使得处理 XML & HTML 像 JSON 一样棒。
不管你的 app 是否需要 XML-RPC web服务的接口,爬一个网页,或者解析一个 RSS feed,Ono 会让你的工作更轻松。
特性
简单,现代的 API 遵循标准 Objective-C 公约,包括扩展使用块和 NSFastEnumeration 极高性能文档解析和遍历, powered by libxml2 支持 XPath 和 CSS 查询 自动转换的日期和数字值 正确,正常地处理元素和属性的 XML 命名空间 能够从 NSString 或 NSData 加载 HTML 和 XML 文档 完整文档 全面的测试套件
使用:
#import "Ono.h" NSData *data = ...; NSError *error; ONOXMLDocument *document = [ONOXMLDocument XMLDocumentWithData:data error:&error]; for (ONOXMLElement *element in document.rootElement.children) { NSLog(@"%@: %@", element.tag, element.attributes); } // Support for Namespaces NSString *author = [[document.rootElement firstChildWithTag:@"creator" inNamespace:@"dc"] stringValue]; // Automatic Conversion for Number & Date Values NSDate *date = [[document.rootElement firstChildWithTag:@"created_at"] dateValue]; // ISO 8601 Timestamp NSInteger numberOfWords = [[[document.rootElement firstChildWithTag:@"word_count"] numberValue] integerValue]; BOOL isPublished = [[[document.rootElement firstChildWithTag:@"is_published"] numberValue] boolValue]; // Convenient Accessors for Attributes NSString *unit = [document.rootElement firstChildWithTag:@"Length"][@"unit"]; NSDictionary *authorAttributes = [[document.rootElement firstChildWithTag:@"author"] attributes]; // Support for XPath & CSS Queries [document enumerateElementsWithXPath:@"//Content" usingBlock:^(ONOXMLElement *element, NSUInteger idx, BOOL *stop) { NSLog(@"%@", element); }];
文章转载自 开源中国社区[https://www.oschina.net]
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
用户抱怨 iOS9 系统 bug 和滞后问题
在此前苹果的发布会上,苹果官方表示正式版本的iOS 9将会于9月16日(也就是北京时间9月17日凌晨)正式推送升级。苹果表示iOS 9是被彻底重新设计的系统,从整个系统的最底层开始进行了全面提升,变得更为智能。 有数据显示,正式推送首日的安装率已经达到了11.75%。不过不少升级了iOS 9的用户反映,升级过后的设备出现多个bug,并且出现了卡顿现象。不幸的是,几乎所有的机型都出现了问题,无一幸免于难。 此次苹果iOS 9支持包括iPhone 4s在内的所有iPhone机型,iPad mini所有设备、iPad 2以上所有设备。苹果承诺iOS 9将会提高性能以及系统的稳定性,不过现在看起来恐怕不是这个样子的。 从目前已经升级的用户反映的情况来看,升级至iOS 9之后整个操作系统出现了卡顿现象,甚至运行某些程序时会有系统崩溃现象发生。而综合所有的用户问题反馈来看,似乎iPhone 5s以及iPhone 6受到的打击最为严重。并且更为严重的是,这次的问题恐怕不是重新设置或者安装升级就能够解决的。 文章转载自 开源中国社区[https://www.oschina.net]
- 下一篇
99% 的新移动恶意程序是针对 Android
安全公司 F-Secure的2014年Q1报告(PDF)显示,新发现的移动恶意程序绝大多数是针对Google 的开源操作系统Android。这很大程度上是因为Android的市场统治地位,以及版本碎片化所导致的更新不一致和第三方应用市场的繁荣。 Android上面并不是恶意程序泛滥成灾,安全研究人员只是发现了277种新的恶意程序家族,其中275种是针对Android,1种是iOS,还有1 种是针对(前)诺基亚的Symbian。这些恶意程序主要是悄悄订阅增值号码,悄悄下载文件或应用,跟踪GPS位置和监听用户,伪装成杀毒软件但实际无功 能,等等。 文章转载自 开源中国社区 [http://www.oschina.net]
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主