Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

XML::LibXML Issue

by omegaweaponZ (Beadle)
on Aug 16, 2013 at 16:01 UTC ( [id://1049756]=perlquestion: print w/replies, xml ) Need Help??

omegaweaponZ has asked for the wisdom of the Perl Monks concerning the following question:

I have a very odd occurence that is happening and I need someone to point me in the right direction. Please keep in mind this happens RANDOMLY! I cannot determine why this is only happening at some times and not others. I am parsing through an XML feed using XML::LibXML. Generally there are no issues but on random occassion I get the following error:
parser error : Document is empty parser error : Start tag expected, '<' not found
Now clearly, the document is fine since it works on occassion, but does anyone have any ideas to prevent this? My initial thoughts are somehow write the contents out locally then parse through again? Here is the basic parser code. Please note, the recover silent option does not work, I'm only adding this to showcase this. Omitting or including this has the same result:
use XML::LibXML; my $parser = XML::LibXML->new(); $parser->recover_silently(2); my $dom = XML::LibXML->load_xml(location => $xmlurl);

Replies are listed 'Best First'.
Re: XML::LibXML Issue
by runrig (Abbot) on Aug 16, 2013 at 16:29 UTC
    Perhaps http occasionally fails to fetch content? What you might want to do is eval in a loop (add some limit to the loop at your discretion):
    my $dom; while (1) { $dom = eval{ XML::LibXML->load_xml(location => $xmlurl) }; last if $dom; print "Error getting xml-will retry: $@\n"; sleep 5; }
      Interesting suggestion. It is possible the page has not executed the xml entirely yet and the parser jumps the gun attempting to parse

        It is possible the page has not executed the xml entirely yet and the parser jumps the gun attempting to parse

        No. Incomplete download (http response) can happen, but its very doubtful that libxml jumps the gun at any point and causes the apperance of incomplete download

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1049756]
Approved by toolic
Front-paged by toolic
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (4)
As of 2024-04-25 14:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found