With this data you can use the following code, which is quite optimized to use the least possible memory, just in case you have _LOTS_ of friends ;--):
#!/usr/bin/perl -w use strict; use XML::Twig; # initialize the index document # pretty_print => 'indented' gives you exactly the output you showed my $index= XML::Twig->new( pretty_print => 'record_c') ->parse( '<friends/>'); my $friends= $index->root; foreach my $file (@ARGV) { my $friend; # the current friend my $t= XML::Twig->new( start_tag_handlers => { # create a new friend in the inde +x person => sub { $friend= $friends +->insert_new_elt( last_child => 'person') } }, twig_roots => { # store the elements in the frien +d 'person/name' => sub { $_->move( +last_child => $friend); }, 'person/age' => sub { $_->move( +last_child => $friend); } } ) ->parsefile( $file); } $index->print;
In reply to Re: Building XML Index File
by mirod
in thread Building XML Index File
by artist
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |