Sha256: 9b565c95a68c4c38e6d8ed9f17b278e3c300e993110eb88b8530f0116339559c
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
module RubyDanfe class XML def css(xpath) @xml.css(xpath) end def xpath(regex) doc = Nokogiri::HTML(@xml.to_s) return doc.xpath(regex) end def regex_string(search_string, regex) doc = Nokogiri::HTML(search_string) return doc.xpath(regex) end def initialize(xml) @xml = Nokogiri::XML(xml) end def [](xpath) node = @xml.css(xpath) return node ? node.text : "" end def render if @xml.at_css('infNFe/ide') RubyDanfe.render @xml.to_s, :danfe else RubyDanfe.render @xml.to_s, :dacte end end def collect(ns, tag, &block) result = [] # Tenta primeiro com uso de namespace begin @xml.xpath("//#{ns}:#{tag}").each do |det| result << yield(det) end rescue # Caso dĂȘ erro, tenta sem @xml.xpath("//#{tag}").each do |det| result << yield(det) end end result end def attrib(node, attrib) begin return @xml.css(node).attr(attrib).text rescue "" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby_danfe-1.11.5 | lib/ruby_danfe/xml.rb |