Nokogiri sax解析根属性
问题描述:
是否可以在Nokogiri SAX解析器中解析和存储xml文件根属性?Nokogiri sax解析根属性
如何一个得到ID值和超时值在根元素?:
<root id="01" expires="2010-10-01">
<aaa>Text</aaa>
<bbb>Text</bbb>
</root>
答
引入nokogiri文件提供了关于如何使用SAX解析器解析XML并获得你所需要的一个例子。看看这里:http://nokogiri.org/Nokogiri/XML/SAX/Document.html
答
像@ luis.parvicini说,* start_element被称为每个标记解析。至于根元素,这将是第一次调用该方法*
所以我做了这样的事情:
class MyDocument < Nokogiri::XML::SAX::Document
def initialize
@infodata = {}
end
def start_element name, attrs = []
@attrs = attrs
@content = ''
if name == 'rootname'
@infodata[:id] = Hash[@attrs]["id"]
@content = ''
end
end
end
是的,我知道,我知道如何使用所有这些方法。但是在sax解析时没有关于如何获得根元素的文档。 – SHUMAcupcake 2012-04-16 13:05:49
为解析的每个标签调用_start_element_。至于根元素,它将在第一次调用该方法时使用。尝试使用您的xml示例代码。 – 2012-04-16 13:13:40