note
ikegami
<c>
use strict;
use warnings;
use XML::LibXML;
my $doc1 = XML::LibXML->new->parse_file('wiki.html');
my $doc2 = XML::LibXML->new->parse_file('timeline.html');
my ($node1) = $doc1->findnodes('//div[@id="metanav"]');
my ($node2) = $doc2->findnodes('//div[@id="metanav"]');
$node1->replaceNode($node2);
print $doc1->toString(0);
</c>
<p>But the XPath you are using looks wrong. Don't you want to match <c>{http://www.w3.org/1999/xhtml}div</c> elements (i.e. XHTML div elements), not <c>div</c> elements with no namespace?
<c>
use strict;
use warnings;
use XML::LibXML;
my $xpc = XML::LibXML::XPathContext->new;
$xpc->registerNs('h', 'http://www.w3.org/1999/xhtml');
my $doc1 = XML::LibXML->new->parse_file('wiki.html');
my $doc2 = XML::LibXML->new->parse_file('timeline.html');
my ($node1) = $xpc->findnodes('//h:div[@id="metanav"]', $doc1);
my ($node2) = $xpc->findnodes('//h:div[@id="metanav"]', $doc2);
$node1->replaceNode($node2);
print $doc1->toString(0);
</c>
816445
816445