use strict;
use warnings;
my $file_name = "dharry.xml";
my $num_departments = 1000;
open (XML_OUT_FILE, ">$file_name")
or die "Could not open $file_name\n";
print XML_OUT_FILE "\n";
print XML_OUT_FILE "\n";
for (my $i=0; $i<$num_departments; $i++) {
print XML_OUT_FILE " \n";
print XML_OUT_FILE " Bla$i\n";
for (my $j=0; $j<5; $j++) {
print XML_OUT_FILE " \n";
print XML_OUT_FILE " John$i$j\n";
print XML_OUT_FILE " Doe$i$j\n";
my $phone_ext = int(rand(10000000));
print XML_OUT_FILE " $phone_ext\n";
print XML_OUT_FILE " \n";
}
print XML_OUT_FILE " \n";
}
print XML_OUT_FILE "\n";
close XML_OUT_FILE
or die "Could not close $file_name\n";
print "Done...\n";
####
use strict;
use warnings;
use XML::Twig;
# Select Twig bassed on value of id attribute on Person element
my $twig= new XML::Twig(
twig_handlers =>
{ 'Person[@id="50000"]' => \&Person }
);
$twig->set_pretty_print ('record'); # Human readable output please
$twig->parsefile( "dharry.xml");
$twig->flush;
sub Person {
my( $twig, $person)= @_;
my $name = $person->first_child("First");
$name->set_text("dHarry");
$twig->flush;
}