in reply to Re: Help!! XML::Simple with nested arrays
in thread Help!! XML::Simple with nested arrays

Below is a running program --- I can print out the column in a table. Please tell me how to print out "javaname" and "type" attribute. Thanks in advance!
my $xml = <<'EOD' ; <database name="somedb"> <table name="table1"> <column name="column11" javaname="jn11" type="CHAR" /> <column name="column12" javaname="jn12" type="CHAR" /> </table> <table name="table2"> <column name="column21" javaname="jn21" type="CHAR" /> <column name="column22" javaname="jn22" type="CHAR" /> </table> </database> EOD my $data = XMLin( $xml, forcearray => 1 ) ; foreach my $key ( keys %{$data->{'table'}} ) { foreach my $column ( keys %{$data->{'table'}->{$key}->{column}} ) { print "table = $key; column = $column\n" ; } }

20050104 Edit by ysth: code tags

Replies are listed 'Best First'.
Re^3: Help!! XML::Simple with nested arrays
by ikegami (Patriarch) on Jan 04, 2005 at 19:26 UTC

    When you post code (such as the XML and the Perl code above), please wrap it in <code> tags to make it readable.

    use strict ; use warnings ; use XML::Simple ; my $xml = <<'EOD' ; <database name="somedb"> <table name="table1"> <column name="column11" javaname="jn11" type="CHAR" /> <column name="column12" javaname="jn12" type="CHAR" /> </table> <table name="table2"> <column name="column21" javaname="jn21" type="CHAR" /> <column name="column22" javaname="jn22" type="CHAR" /> </table> </database> EOD my $data = XMLin( $xml, forcearray => 1 ) ; foreach my $table_name ( keys(%{$data->{'table'}}) ) { my $table = $data->{'table'}{$table_name}; foreach my $column_name ( keys(%{$table->{'column'}}) ) { my $column = $table->{'column'}{$column_name}; my $column_type = $column->{'type'}; my $column_java = $column->{'javaname'}; print("Type of column $column_name in table $table_name is +$column_type.\n"); print("Java name of column $column_name in table $table_name is +$column_java.\n"); } }
      Thnaks, ikegami. but I put your code together with my data file, it does not run. Could you please paste the whole code patch with xml+code, so I can run? Thanks
        fixed.