kingsaint has asked for the wisdom of the Perl Monks concerning the following question:
I'm trying to add a new <student> node with attibute id="1003" after the <student> element with id='1001'. Here is the xml structure:
<?xml version="1.0" encoding="utf-8" ?> <University> <students> <student id="1000"/> <student id="1001"/> <student id="1002"/> </students> </University>
I'm using XML::LibXML module and wrote the following snippet:
#!/usr/bin/perl use XML::LibXML; $parser = XML::LibXML->new(); $doc = $parser->parse_file('student.xml'); $query = '//student'; for my $ele ($doc->findnodes($query)){ my $attr_text=$ele->getAttribute('id'); if($attr_text eq '1001'){ $new_ele=$doc->createElement('student'); $new_ele->setAttribute('id','1003'); $doc->insertAfter($new_ele,$ele); last; } } open(TESTFILE,">result.xml"); print TESTFILE $doc->toString; close(TESTFILE);
But I'm getting the following run-time error:
NOT_FOUND_ERRI'm still a novice in perl.Can you please explain the error message and tell me how to resolve it?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: NOT_FOUND_ERR in insertAfter()
by NetWallah (Canon) on Sep 25, 2013 at 05:09 UTC | |
by boftx (Deacon) on Sep 25, 2013 at 05:25 UTC | |
by NetWallah (Canon) on Sep 25, 2013 at 05:34 UTC | |
by Anonymous Monk on Sep 25, 2013 at 05:59 UTC | |
by boftx (Deacon) on Sep 25, 2013 at 06:03 UTC | |
|
Re: NOT_FOUND_ERR in insertAfter()
by choroba (Cardinal) on Sep 25, 2013 at 08:53 UTC |