Sha256: 7947df0eaf57e1a719a34e748fe005d0ea4a4a9d6a8b9a2fb32586361e6ab3c3

Contents?: true

Size: 686 Bytes

Versions: 5

Compression:

Stored size: 686 Bytes

Contents

module ParseHelper
  def x(xpath,options = {})
    doc = options[:doc] || @doc
    preamble = options[:meta] == true ? metaxmlpathpreamble : xmlpathpreamble
    nodes=REXML::XPath.match(doc,"#{preamble}#{xpath}")
    if nodes.length==1
      if nodes.first.respond_to?(:text)
        return nodes.first.text
        elsif nodes.first.respond_to?(:to_s)
          return nodes.first.to_s
      end
    end

    if nodes.length>1
      if nodes.first.respond_to?(:text)
        return nodes.map{|x| x.text}
        elsif nodes.first.respond_to?(:to_s)
          return nodes.map{|x| x.to_s}
      end
    end
    return nil
    
  end
  def xmlpathpreamble
    ''
  end
  private :x

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
amee-2.4.0 lib/amee/parse_helper.rb
amee-2.3.1 lib/amee/parse_helper.rb
amee-2.3.0 lib/amee/parse_helper.rb
amee-2.2.1 lib/amee/parse_helper.rb
amee-2.2.0 lib/amee/parse_helper.rb