my $xpath = XML::XPath->new('xml' => $XML);
foreach my $node ($xpath->findnodes('/foo/bar/element')->get_nodelist) {
my $data = my_munge_function($node->as_string);
my $id = $node->getAttribute('id');
$xpath->setNodeText('/foo/bar/element[@id=' . $id . ']', $data);
}
####
my $newXML = $xpath->findnodes_as_string('/');
####
Foo bar baz]]>
####
La dee da de da.<br>Foo bar baz