当前位置: 首页 > 软件库 > Web应用开发 > HTML解析器 >

Ono

XML/HTML 解析库
授权协议 MIT
开发语言 Objective-C HTML/CSS
所属分类 Web应用开发、 HTML解析器
软件类型 开源软件
地区 不详
投 递 者 芮安顺
操作系统 OS X
开源组织
适用人群 未知
 软件概览

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

  • 支持 XPathCSS 查询

  • 自动转换的日期和数字值

  • 正确,正常地处理元素和属性的 XML 命名空间

  • 能够从 NSStringNSData 加载 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);
}];


  • Ono 详细介绍 Ono (斧)是 iOS & Mac OSX 处理 XML & HTML 的一种明智的方法(解析库)。 XML 在 Cocoa 的支持并不好,NSXMLParser 强制要求繁琐的委托模式,这是非常不方便实现的。 NSXMLDocument 有一点好用,但只能在 Mac OS X 工作, 但占用大量内存。 Ono 使得处理 XML & HTML 像 JSON 一样棒。 不管你的

  • 软件简介 Ono (斧)是 iOS & Mac OSX 处理 XML & HTML 的一种明智的方法(解析库) 。 XML 在 Cocoa 的支持并不好 ,NSXMLParser 强制要求繁琐的委托模式,这是非常不方便实现的。 NSXMLDocument 有一点好用,但只能在 Mac OS X 工作, 但占用大量内存。 Ono 使得处理 XML & HTML 像 JSON 一样棒。 不管你的 ap

  • 最近在研究网页HTML的解析,找了一些支持xpath语法的第三方框架,最后定位到Ono框架,但是官方的使用方法介绍太简单了,导致用的过程中还是踏了不少坑,这里记录一下,有一点介绍一点,直到目前手里的这个项目做完。 这里主要介绍HTML解析相关,XML不涉及。 1.Ono基础用法 #import "Ono.h" NSData *data = ...; NSError *error; ONOXMLDo

  • 步骤一: 添加库:libxml2.2.tbd 步骤二: TARGETS-Build Settings-Header Search Paths中添加“/usr/include/libxml2”和“/usr/include/libresolv” end

  • 问题的原因所在:     1:因为你当前使用的主机是一个单核的主机(不会自动启动);     2:多核上如果不设置-smp enable是不会有什么问题的,因为从OTP R12B开始,如果操作系统报告有多于1个的CPU(或者核心)VM的,                                 SMP版本会自动启动,并且根据CPU或者核心的数量启动同样数量的调度器。 解决的方法:     

  • package org.jixiuf.bean; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinC

 相关资料
  • HTML5 Boilerplate 默认提供两个 html 页面: index.html 404.html index.html no-js类 no-js 类可以让开发者依据 JavaScript 被启用(.js)或被禁止(.no-js)两种状态,更轻易准确地添加自定义样式。 使用这个技巧也有助于避免浏览器闪烁(FOUC)。 lang 属性 请认真考虑在 <html> 中添加 lang 属性,从而

  • 问题内容: 我正在开发一个从网站上抓取数据的应用程序,我想知道应该如何获取数据。具体来说,我需要包含在使用特定CSS类的许多div标签中的数据-目前(出于测试目的)我只是在检查 在HTML的每一行中-都可以,但是我不禁感到有更好的解决方案。 有什么好方法可以给类添加一行HTML并提供一些好方法,例如: 问题答案: “ JTidy是HTML Tidy的Java端口,HTML Tidy是HTML语法检

  • 前面介绍了很多眼花缭乱的新技术,关于渲染,关于硬件加速,关于布局,关于其他很多,同大家一样,我也花了很多时间来消化它们。本章介绍稍微基础些的话题(本系列的写作顺序完全是随心所欲地),就是在渲染整个过程的初始阶段---HTML解析。不过这不表示它简单,其实这里是非常绕人的。在前面描述渲染过程,其实也是回避了这些方面的很多细节,原因也很简单,我自己也没有完全仔细地了解清楚. :-( 现在又重新阅读和d

  • 本文向大家介绍使用PHP的HTML DOMDocument解析HTML,包括了使用PHP的HTML DOMDocument解析HTML的使用技巧和注意事项,需要的朋友参考一下 可以通过以下代码获取<div>标记内的<div>标记内的文本,其中<div>内的class =“ main”内- 示例 输出结果 这将产生以下输出-

  • 问题内容: 谁能推荐C或Objective-C库进行HTML解析?它需要处理无法完全验证的凌乱的HTML代码。 这样的库是否存在,还是我最好只是尝试使用正则表达式? 问题答案: 看起来像是SDK中附带的,并具有以下特征: 该模块使用与XML解析器兼容的API来实现HTML4.0非验证解析器。即使从规范的角度来看严重损坏,它也应该能够解析“真实世界”的HTML。 这听起来像我所需要的,所以我可能会使

  • 问题内容: 我如何解析包含在PHP变量中的HTML代码,例如: 我只想 获取标题之间的文本, 并且我知道使用正则表达式不是一个好主意。 问题答案: 使用PHP 文档对象模型: 输出为: [编辑]:OP澄清后: 如果您想要类似 Lorem ipsum 的内容 。 等,您可以直接使用此正则表达式: 输出: Lorem ipsum。快速的红狐狸……跳过了懒惰的棕色FROG

  • 问题内容: 我正在尝试解析以下HTML文件,我想获取key的值。这是在Windows Phone的Silverlight上完成的。 有什么想法要从这里去吗? 谢谢 问题答案: 这是一些入门的代码(需要进行错误检查)

  • 问题内容: 如果我们将Apache Web服务器设置为将Apache配置为将 所有 HTML 处理为PHP,是否存在安全性/性能方面的顾虑?我专门指的是: 我当时需要将一些PHP逻辑添加到一些HTML文件中;理想情况下,我不必将文件名更改为(保持的页面排名等)。 这与以下问题有关:httpd AddType指令 编辑: 从下面的现有答案/评论中,社区似乎建议使用重定向或仅针对特定的HTML文件。约