Sha256: 39320b591d6fc831755ff7861141a5f7fc6de9e3c2d359ae7218b6121cc2078f
Contents?: true
Size: 1.01 KB
Versions: 4
Compression:
Stored size: 1.01 KB
Contents
module SodaXmlTeam require 'nokogiri' class News def self.parse_news(document={}) output = [] unless document.is_a? Nokogiri::XML::Document raise "Invalid XML news." end output = {} # Article meta data document.css('sports-content').each do |metadata| output[:title] = metadata.css('sports-title').first.content if !metadata.css('byline person').empty? output[:author] = metadata.css('byline person').first.content end output[:author_title] = metadata.css('byline byttl').first.content output[:headline] = metadata.css('article hedline hl1').first.content output[:abstract] = metadata.css('article abstract').first.content.gsub(/\n/, "").strip end # Article content document.xpath('/xts:sports-content-set/sports-content/article/nitf/body/body.content').each do |article_body| output[:body] = article_body.css('*').to_s.gsub(/\n/, "").strip end return output end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
soda_xml_team-1.3.1 | lib/soda_xml_team/news.rb |
soda_xml_team-1.3.0 | lib/soda_xml_team/news.rb |
soda_xml_team-1.2.0 | lib/soda_xml_team/news.rb |
soda_xml_team-1.1.0 | lib/soda_xml_team/news.rb |