From: Simon Wistow Date: Wed, 17 Dec 2008 23:52:41 +0000 (+0000) Subject: Add ability to convert with fields that have multiple values X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=5832196ed466af59d8195b1129115b3cd534ac54;p=catagits%2FXML-Feed.git Add ability to convert with fields that have multiple values --- diff --git a/lib/XML/Feed.pm b/lib/XML/Feed.pm index bc1bf57..75e21cb 100644 --- a/lib/XML/Feed.pm +++ b/lib/XML/Feed.pm @@ -121,9 +121,9 @@ sub convert { my($format) = @_; my $new = XML::Feed->new($format); for my $field (qw( title link description language author copyright modified generator )) { - my $val = $feed->$field(); - next unless defined $val; - $new->$field($val); + my @values = $feed->$field(); + next unless @values && defined $values[0]; + $new->$field(@values); } for my $entry ($feed->entries) { $new->add_entry($entry->convert($format)); diff --git a/lib/XML/Feed/Entry.pm b/lib/XML/Feed/Entry.pm index f2fadb2..9cce50e 100644 --- a/lib/XML/Feed/Entry.pm +++ b/lib/XML/Feed/Entry.pm @@ -35,10 +35,10 @@ sub convert { my($format) = @_; my $new = __PACKAGE__->new($format); for my $field (qw( title link content summary category author id issued modified lat long )) { - my $val = $entry->$field(); - next unless defined $val; - next if blessed $val && $val->isa('XML::Feed::Content') && ! defined $val->body; - $new->$field($val); + my @values = $entry->$field(); + next unless @values && defined $values[0]; + next if blessed $values[0] && $values[0]->isa('XML::Feed::Content') && ! defined $values[0]->body; + $new->$field(@values); } $new; }