【发布时间】:2011-12-08 21:18:16
【问题描述】:
我正在使用 Nokogiri SAX 解析器来查找 XML 文档中的特定片段,但是一旦完成,就没有理由继续扫描文档。
有没有办法立即终止解析?
【问题讨论】:
我正在使用 Nokogiri SAX 解析器来查找 XML 文档中的特定片段,但是一旦完成,就没有理由继续扫描文档。
有没有办法立即终止解析?
【问题讨论】:
查看 Nokogiri 的源代码后,我不相信这是可能的。
Nokogiri 在某些时候——为了响应一些 Ruby 方法或返回值——需要在 libxml2 中调用 xmlStopParser()。因为:
xml_sax_parser.c的源代码)的任何地方都没有看到这个函数,并且我得出的结论是 Nokogiri 目前没有任何办法停止解析。
【讨论】:
ensure 它清理掉。
throw :obscured_symbol_919155 和catch :obscured_symbol_919155 似乎不那么罪恶。 (或使用Object.new 创建唯一令牌)