Class FeedParser::AtomItem
In: lib/feedparser/feedparser.rb
Parent: FeedItem
RuntimeError UnknownFeedTypeException FeedItem\n[lib/feedparser/feedparser.rb\nlib/feedparser/html-output.rb\nlib/feedparser/text-output.rb] AtomItem RSSItem SGMLParser HTML2TextParser Feed\n[lib/feedparser/feedparser.rb\nlib/feedparser/html-output.rb\nlib/feedparser/text-output.rb] lib/feedparser/feedparser.rb lib/feedparser/text-output.rb lib/feedparser/sgml-parser.rb lib/feedparser/html2text-parser.rb FeedParser dot/m_7_0.png

Methods

parse  

Public Instance methods

[Source]

     # File lib/feedparser/feedparser.rb, line 226
226:     def parse(item)
227:       # Title
228:       if (e = item.elements['title']) && e.text
229:         @title = e.text.unescape_html.toUTF8(@feed.encoding).rmWhiteSpace!
230:       end
231:       # Link
232:       item.each_element('link') do |e|
233:         if e.attribute('type') and (
234:             e.attribute('type').value == 'text/html' or
235:             e.attribute('type').value == 'application/xhtml' or
236:             e.attribute('type').value == 'application/xhtml+xml')
237:           if (h = e.attribute('href')) && h.value
238:             @link = h.value
239:           end
240:         end
241:       end
242:       # Content
243:       if e = item.elements['content'] || item.elements['summary']
244:         if (e.attribute('mode') and e.attribute('mode').value == 'escaped') &&
245:           e.text
246:           @content = e.text.toUTF8(@feed.encoding).rmWhiteSpace!
247:         else
248:           @content = FeedParser::getcontent(e, @feed)
249:         end
250:       end
251:       # Date
252:       if (e = item.elements['issued'] || e = item.elements['created']) && e.text
253:         begin
254:           @date = Time::xmlschema(e.text)
255:         rescue
256:           begin
257:             @date = Time::rfc2822(e.text)
258:           rescue
259:             begin
260:               @date = Time::parse(e.text)
261:             rescue
262:               @date = nil
263:             end
264:           end
265:         end
266:       end
267:       # Creator
268:       @creator = @feed.creator
269:       if (e = item.elements['author/name']) && e.text
270:         @creator = e.text.unescape_html.toUTF8(@feed.encoding).rmWhiteSpace!
271:       end
272:     end

[Validate]