Mojo::DOM based Feed Parser
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
t
.gitignore
.perltidyrc
.travis.yml
Build.PL
Changes
LICENSE
META.json
README.md
cpanfile
minil.toml

README.md

Build Status

NAME

Mojo::Feed - Mojo::DOM-based parsing of RSS & Atom feeds

SYNOPSIS

use Mojo::Feed::Reader;
use Mojo::Feed;

my $feed = Mojo::Feed::Reader->new->parse("atom.xml");
print $feed->title, "\n",
  $feed->items->map('title')->join("\n");

$feed = Mojo::Feed->new( body => $string );

DESCRIPTION

Mojo::Feed is an Object Oriented module for identifying, fetching and parsing RSS and Atom Feeds. It relies on Mojo::DOM for XML/HTML parsing. Date parsing is done with HTTP::Date.

Mojo::Feed represents the parsed RSS/Atom feed; you can construct it by setting an XML string as the body, or by using a Mojo::Feed::Reader object.

ATTRIBUTES

Mojo::Feed implements the following attributes.

body

The original decoded string of the feed.

dom

The parsed feed as Mojo::DOM object.

source

The source of the feed; either a Mojo::Path or Mojo::URL object, or undef if the feed source was a string.

title

Returns the feed's title.

description

Description of the feed, filled from channel description (RSS), subtitle (Atom 1.0) or tagline (Atom 0.3)

link

Web page URL associated with the feed

items

Mojo::Collection of Mojo::Feed::Item objects representing feed news items

subtitle

Optional feed description

author

Name from author, dc:creator or webMaster field

published

Time in epoch seconds (may be filled with pubDate, dc:date, created, issued, updated or modified)

METHODS

Mojo::Feed inherits all methods from Mojo::Base and implements the following new ones.

new

my $feed = Mojo::Feed->new;
my $feed = Mojo::Feed->new( body => $string);

Construct a new Mojo::Feed object.

to_hash

my $hash = $feed->to_hash;
print $hash->{title};

Return a hash reference representing the feed.

to_string

Return a XML serialized text of the feed's Mojo::DOM node. Note that this can be different from the original XML text in the feed.

is_valid

Returns true if the top-level element of the DOM is a valid RSS (0.9x, 1.0, 2.0) or Atom tag. Otherwise, returns false.

feed_type

Detect type of feed - returns one of "RSS 1.0", "RSS 2.0", "Atom 0.3", "Atom 1.0" or "unknown"

CREDITS

Dotan Dimet

Mario Domgoergen

Some tests adapted from Feed::Find and XML:Feed, Feed auto-discovery adapted from Feed::Find.

LICENSE

Copyright (C) Dotan Dimet.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Dotan Dimet dotan@corky.net

Mario Domgoergen