Sha256: a611dc406bd618d7905553d1c8d5c99aacd2710392fd5e8a8e4988d9ee9cf5b9
Contents?: true
Size: 900 Bytes
Versions: 10
Compression:
Stored size: 900 Bytes
Contents
module Awis module Utils class XML def initialize(data) @data = data end def each_node(attributes_in_path = false) reader = Nokogiri::XML::Reader(@data) nodes = [''] reader.each do |node| if node.node_type == Nokogiri::XML::Reader::TYPE_ELEMENT if attributes_in_path && node.attributes.size > 0 attributes = [] node.attributes.sort.each do |name, value| attributes << "@#{name}=#{value}" end nodes << "#{node.name}/#{attributes.join('/')}" else nodes << node.name end path = nodes.join('/') yield node, path end nodes.pop if node.node_type == Nokogiri::XML::Reader::TYPE_END_ELEMENT || node.self_closing? # End tag end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems