Thread XML::RSS parst W3C-konformes XML nicht? (4 answers)
Opened by rtp_de at 2013-08-17 13:48

rtp_de
 2013-08-17 13:48
#169610 #169610
User since
2013-08-17
8 articles
BenutzerIn
[default_avatar]
Ein kleines Skript verwendet XML::RSS und parst einen RSS-Feed.
Das funktioniert auch so, wie das Skript im Moment gespeichert ist.

Verwendet man allerdings an Stelle der Feed-Url $rss2 eine andere Feed-Url - $rss1 - bricht das Skript mit folgender Fehlermeldung ab:

Use of uninitialized value in string eq at /usr/lib/perl5/vendor_perl/5.8.8/XML/RSS.pm line 935.
Use of uninitialized value in string eq at /usr/lib/perl5/vendor_perl/5.8.8/XML/RSS.pm line 935.
mismatched tag at line 6, column 2, byte 146 at /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/XML/Parser.pm line 187


Wodurch wird der Fehler verursacht? Liegt das am Skript oder am Modul?

Hier das Skript:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/perl
 
use LWP::UserAgent;
use XML::RSS;
 
# Settings
my $rss1 = "http://www.dieter-broers.de/blog.xml";    # Valid XML-RSS - W3C-syntax-checker - does not work!
my $rss2 = "http://www.gedankendoping.de/feed";        # Also valid - does work?
 
# Load data
my $ua = LWP::UserAgent->new();
my $response = $ua->get($rss2);                # Change here to $rss1 and the error will appear...
my $ticker=$response->content();
 
# Parse RSS
my $rss = XML::RSS->new(encoding=>'utf-8');
$rss->parse($ticker);
 
# Output
foreach $item (@{$rss->{'items'}}) {
    my $title = $item->{'title'};
    print($title."\n");
    }


modedit Editiert von GwenDragon: Perl-Code in Perl-Tags
Last edited: 2013-08-17 14:21:14 +0200 (CEST)

View full thread XML::RSS parst W3C-konformes XML nicht?