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!
In reply to Problem Parsing XML with Perl by Perobl
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |