我想在找到第一个元素时停止解析,即使在那之后还有更多相同的元素。我在 ruby 上使用 libxml、SAX。
此代码显示每个<usr>
元素。
但是我想在 find 1st 时停止解析<usr>
。
因为这个 XML 文件会很大。有谁知道通过 SAX 方法找到第一个元素时如何停止解析。
代码
#! ruby -Ku
require 'rubygems'
require 'libxml'
include LibXML
class PostCallbacks
include XML::SaxParser::Callbacks
def on_start_element(element, attributes)
if /usr/ =~ element
p element
end
end
end
parser = XML::SaxParser.file('test.xml')
parser.callbacks = PostCallbacks.new
parser.parse
谢谢。