Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Re: How can I replace a line (tag) in an XML file?

by andal (Friar)
on Sep 29, 2011 at 07:58 UTC ( #928486=note: print w/ replies, xml ) Need Help??


in reply to How can I replace a line (tag) in an XML file?

One can also do it without any XML parser. Here's an example

my $str = <<EOF; <students> <student> <name>John</name> <id>001</id> <gpa>A</gpa> </student> <student> <name>John</name> <id>002</id> <gpa>C</gpa> </student> </students> EOF $str =~ s/<student>(.*?)<\/student>/check_record($1)/gse; print $str; sub check_record { my $rec = shift; $rec =~ s/(<gpa>\s*)C(\s*<\/gpa>)/$1B$2/ if($rec =~ /<id>\s*002\s* +<\/id>/); return "<student>$rec</student>"; }


Comment on Re: How can I replace a line (tag) in an XML file?
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://928486]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2014-12-25 15:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (160 votes), past polls