Thanks, it works now. A quick follow-up question. I've just noticed that a few "nodes" have child "nodes" with similar attributes:
<?xml version="1.0" encoding="Windows-1252"?> <App> <node name="1st node" text="Text of 1st node" /> <node name="2nd node" text="Text of 2nd node"> <node name="subnode A" text="Text of subnode A" /> <node name="subnode B" text="Text of subnode B" /> </node> <node name="3rd node" text="Text of 3rd node" /> ... </App>
I'd like to print this out as follows:
1st node: Text of 1st node 2nd node: Text of 2nd node subnode A: Text of subnode A subnode B: Text of subnode B 3rd node: Text of 3rd node
Without getting into any scary recursion, how would I modify the loop to print out the subnodes, too?
foreach my $node (@{$data->{node}}) { print $node->{name}.": ".$node->{text}."\n"; if ( ... ) { # detect the existence of a subnode here somehow foreach my $subnode (@{$data->{node}{subnode}}) { print "\t".$subnode->{name}.": ".$subnode->{text}."\n"; } } }
In reply to Re^2: XML::Simple: list all element attributes
by element22
in thread XML::Simple: list all element attributes
by element22
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |