Hello, BrowserUK.
I see. Example XML is just 613KB.
Copying Twig object is terribly slow. I guess Data::Dumper or dclone of storable will not do any good, because it is just huge.
Without copy, it is very fast.for ( $someData->children_copy( 'managedObject') ){ handle_managedObject($t, $_); }
So, I vaguely imagined rewriting managedObject sub using regex, for example ...for ( $someData->children( 'managedObject') ){ handle_managedObject($t, $_); }
my ($t, $element)=@_;
# create rewrite rules using Twig
my %rewrite_rules =(
q/name="name"/ => "some value",
);
#replace with regex
my $buffer=$element->sprint; #get plain text of element
for (keys %rewrite_rules){
$buffer =~ s/ $_ (.*?) > .*? (?=<)
/${_} ${1} $rewrite_rules{$_}/sx;
}
#just print out without changing $element
print $fh $buffer;
I will do like this, if I were.In reply to Re^5: XML::Twig and threads
by remiah
in thread XML::Twig and threads [solved]
by grizzley
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |