Loading lib/Travel/Status/DE/IRIS.pm +28 −6 Original line number Diff line number Diff line Loading @@ -18,6 +18,19 @@ use LWP::UserAgent; use Travel::Status::DE::IRIS::Result; use XML::LibXML; sub try_load_xml { my ($xml) = @_; my $tree; eval { $tree = XML::LibXML->load_xml( string => $xml ) }; if ($@) { return ( undef, $@ ); } return ( $tree, undef ); } sub new { my ( $class, %opt ) = @_; Loading Loading @@ -215,10 +228,9 @@ sub get_station { } } my $xml_st; eval { $xml_st = XML::LibXML->load_xml( string => $raw ) }; if ($@) { $self->{errstr} = "Parse error: $@"; my ( $xml_st, $xml_err ) = try_load_xml($raw); if ($xml_err) { $self->{errstr} = 'Failed to parse station data: Invalid XML'; return; } Loading Loading @@ -353,7 +365,12 @@ sub get_timetable { return $self; } my $xml = XML::LibXML->load_xml( string => $raw ); my ( $xml, $xml_err ) = try_load_xml($raw); if ($xml_err) { $self->{warnstr} = 'Failed to parse a schedule part: Invalid XML'; return $self; } my $station = ( $xml->findnodes('/timetable') )[0]->getAttribute('station'); Loading @@ -379,7 +396,12 @@ sub get_realtime { return $self; } my $xml = XML::LibXML->load_xml( string => $raw ); my ( $xml, $xml_err ) = try_load_xml($raw); if ($xml_err) { $self->{warnstr} = 'Failed to parse realtime data: Invalid XML'; return $self; } my $station = ( $xml->findnodes('/timetable') )[0]->getAttribute('station'); Loading Loading
lib/Travel/Status/DE/IRIS.pm +28 −6 Original line number Diff line number Diff line Loading @@ -18,6 +18,19 @@ use LWP::UserAgent; use Travel::Status::DE::IRIS::Result; use XML::LibXML; sub try_load_xml { my ($xml) = @_; my $tree; eval { $tree = XML::LibXML->load_xml( string => $xml ) }; if ($@) { return ( undef, $@ ); } return ( $tree, undef ); } sub new { my ( $class, %opt ) = @_; Loading Loading @@ -215,10 +228,9 @@ sub get_station { } } my $xml_st; eval { $xml_st = XML::LibXML->load_xml( string => $raw ) }; if ($@) { $self->{errstr} = "Parse error: $@"; my ( $xml_st, $xml_err ) = try_load_xml($raw); if ($xml_err) { $self->{errstr} = 'Failed to parse station data: Invalid XML'; return; } Loading Loading @@ -353,7 +365,12 @@ sub get_timetable { return $self; } my $xml = XML::LibXML->load_xml( string => $raw ); my ( $xml, $xml_err ) = try_load_xml($raw); if ($xml_err) { $self->{warnstr} = 'Failed to parse a schedule part: Invalid XML'; return $self; } my $station = ( $xml->findnodes('/timetable') )[0]->getAttribute('station'); Loading @@ -379,7 +396,12 @@ sub get_realtime { return $self; } my $xml = XML::LibXML->load_xml( string => $raw ); my ( $xml, $xml_err ) = try_load_xml($raw); if ($xml_err) { $self->{warnstr} = 'Failed to parse realtime data: Invalid XML'; return $self; } my $station = ( $xml->findnodes('/timetable') )[0]->getAttribute('station'); Loading