Perobl has asked for the wisdom of the Perl Monks concerning the following question:
I am trying to parse XML weather data from NOAA. Everything has been working great until today.
I'm using XML::Simple
The problems resides here:
my $weatherIconURL = $data->{'data'}->{'parameters'}->{'conditions-icon'}->{'icon-link'}->[0];
Normally the XML for 'icon-link' is formatted like this:
<name>Conditions Icons</name> <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/sct. +jpg</icon-link> <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nra3 +0.jpg</icon-link> </conditions-icon>
My program simple grabs the first URL and this is used to get NOAA's weather graphic.
However, I noticed something peculiar today. The XML for some locations is formatted like this:
<name>Conditions Icons</name> <icon-link xsi:nil="true"/> <icon-link>http://www.nws.noaa.gov/weather/images/fcicons/nra5 +0.jpg</icon-link> </conditions-icon>
The problem here is the NIL part of the XML:
<icon-link xsi:nil="true"/>When this is encountered in the XML, my program responds with the following error:
A URI can't be a HASH reference at /System/Library/Perl/Extras/5.8.8/LWP/Simple.pm line 113
Is there some way that I can ignore <icon-link xsi:nil="true"/> ??? I'm not sure how to get around this.
TIA!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Problem Parsing XML with Perl
by gmargo (Hermit) on Oct 24, 2009 at 23:50 UTC | |
by Perobl (Beadle) on Oct 25, 2009 at 14:55 UTC | |
|
Re: Problem Parsing XML with Perl
by almut (Canon) on Oct 25, 2009 at 17:42 UTC | |
|
Re: Problem Parsing XML with Perl
by Anonymous Monk on Oct 25, 2009 at 01:40 UTC | |
by Perobl (Beadle) on Oct 25, 2009 at 15:01 UTC |