Sha256: 5907d6b5d586bafe2fdd6bb18db44376cda1ab67e3d371ca5944e7649f6f5313
Contents?: true
Size: 986 Bytes
Versions: 1
Compression:
Stored size: 986 Bytes
Contents
module Rea module DBLP class QueryResultParser < Parser def parse_text(result, source = nil) entries = [] parse_xml(result, source) do |doc| unrecognized!(source) if doc.xpath('/result').empty? doc.xpath("/result/hits/hit").each do |entry| entries << send(:"xml_parse_hit", entry) end end entries end private def fix_xmlns(xml) xml.gsub %r{<result>}, %q{<result xmlns:dblp="http://www.dblp.org/xmlns/dblp">} end def xml_parse_hit(hit) key = hit.xpath('url').text[%r{http://www.dblp.org/rec/bibtex/(.*)}, 1] content = <<-XML.gsub(/\n\s*/, "") <dblp> <queryentry key="#{key}"> #{hit.xpath('title').inner_text} </queryentry> </dblp> XML EntryParser.parse(content).first end end # class QueryResultParser end # module DBLP end # module Rea
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rea-0.0.1 | lib/rea-dblp/rea/dblp/query_result_parser.rb |