Maxim has asked for the wisdom of the Perl Monks concerning the following question:
use strict; use warnings; use XML::Simple; use DATA::Dumper; #Variable my $counter = 0; my $countertrans = 0; my $file = (\*DATA); my $arrays = [qw/trans item status assignee/]; my $opt = XMLin($file, keyattr => 1, forcearray => $arrays); my $id = 'maxis'; my $lastid = 'legas'; foreach my $trans (@{$opt->{'trans'}}) { my $transs = $opt->{'trans'}[$countertrans]{'kool'}; if ($transs eq 'max') { foreach my $item (@{$trans->{'item'}}) { my $currentid = $opt->{'trans'}[0]{'item'}[0]{'id'}; $counter++; if ($lastid eq $currentid) { $opt->{'trans'}[$countertrans]{'item'}[$counter]{'id'} + = $id || die "Error!!"; $opt->{'trans'}[$countertrans]{'item'}[$counter]{'stat +us'} [0]= 'con' || die "Error!!"; $opt->{'trans'}[$countertrans]{'item'}[$counter]{'assi +gnee'}[0] = 'Jill' || die "Error"; print "My cuurent ID is $currentid, $item counter is $ +counter\n"; print "ID is $id\n"; print XMLout($opt); exit 1; } } } print "$trans"; $countertrans++ } print "Nothing"; __DATA__ <opt> <trans kool="max"> <item id="legas"> <status>contacted</status> <assignee>jack</assignee> </item> </trans> <trans kool ="kool"> <item id="gas"> <status>contacted</status> <assignee>jack</assignee> </item> </trans> </opt>
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Add new elements with XML::Simple
by jeffa (Bishop) on Oct 13, 2004 at 13:40 UTC | |
by Maxim (Sexton) on Oct 13, 2004 at 21:26 UTC | |
by jeffa (Bishop) on Oct 14, 2004 at 15:00 UTC | |
by Maxim (Sexton) on Oct 14, 2004 at 21:41 UTC | |
|
Re: Add new elements with XML::Simple
by grantm (Parson) on Oct 15, 2004 at 08:57 UTC |