On 23 Aug 2004, at 20:29, Kevin Old wrote:

Hello everyone,

I'm new to parsing XML files.  I've got a somewhat working attempt,
but keep getting errors when certain elements are undefined.

Can't call method "as_text" on an undefined value at ./xmltreebuild.pl line 33.

Believe the error message! Line 33 is:

 $tmp[11] = $prod->find_by_tag_name('runtime')->as_text;

So the find_by_tag_name is returning undef, rather than an object that has an as_text method. Its not finding runtime, because in the xml its spelled run-time.

But if you may or may not find a match, you'll have to check:

  if ( $elem = $prod->find_by_tag_name('run-time') ) {
    $tpm[11] = $elem->as_text;
  }

EasyTree or another package may give you a nicer way of doing this that lots of conditionals in your code.

Richard


-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to