This is my second question on a theme. I want to access an attribute for a nested XML element using XML::Simple. For example, <gene id = "1"><gene_seq id = "1"></gene_seq></gene>. How do I do that?
Does not do it.print $xml->{gene_seq}{$id}{'startpos'}, "\n";
#!/usr/bin/perl -w use strict; use warnings; use XML::Simple; use Data::Dumper; my $data = do {local $/;<DATA>}; my $xml = new XML::Simple(keeproot => 1);# this is what you want my $xml = XMLin($data); print Dumper($xml), "\n\n"; for my $id (1,2) { print $xml->{gene_seq}{$id}{'startpos'}, "\n"; } __DATA__ <?xml version="1.0" ?> <many_genes> <gene id = "1" label = "gene_of_interest"> <gene_seq id = "1" startpos = "5999"/> </gene> <gene id = "2" label = "Another_gene_of_interest"> <gene_seq id = "2" startpos = "96819"/> </gene> </many_genes>
In reply to XML data structures and XML::Simple by matth
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |