- 授权协议: MIT
- 开发语言: Objective-C HTML/CSS
- 操作系统: OS X
- 软件首页: https://github.com/mattt/Ono
软件介绍
Ono (斧)是 iOS & Mac OSX 处理 XML & HTML 的一种明智的方法(解析库)。
XML 在 Cocoa 的支持并不好,NSXMLParser 强制要求繁琐的委托模式,这是非常不方便实现的。 NSXMLDocument 有一点好用,但只能在 Mac OS X 工作, 但占用大量内存。
不管你的 app 是否需要 XML-RPC web服务的接口,爬一个网页,或者解析一个 RSS feed,Ono 会让你的工作更轻松。
特性
简单,现代的 API 遵循标准 Objective-C 公约,包括扩展使用块和
NSFastEnumeration极高性能文档解析和遍历, powered by
libxml2自动转换的日期和数字值
正确,正常地处理元素和属性的 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);
}];30天自制操作系统
[日] 川合秀实 / 周自恒、李黎明、曾祥江、张文旭 / 人民邮电出版社 / 2012-8 / 99.00元
自己编写一个操作系统,是许多程序员的梦想。也许有人曾经挑战过,但因为太难而放弃了。其实你错了,你的失败并不是因为编写操作系统太难,而是因为没有人告诉你那其实是一件很简单的事。那么,你想不想再挑战一次呢? 这是一本兼具趣味性、实用性与学习性的书籍。作者从计算机的构造、汇编语言、C语言开始解说,让你在实践中掌握算法。在这本书的指导下,从零编写所有代码,30天后就可以制作出一个具有窗口系统的32位......一起来看看 《30天自制操作系统》 这本书的介绍吧!
