2016-11-08 115 views

回答

2
#!/usr/bin/perl 
use warnings; 
use strict; 

use XML::LibXML; 

my $dom = 'XML::LibXML'->load_xml(string => '<r><p><c/></p></r>'); 
my ($n1) = $dom->findnodes('/r/p/c'); 
my ($n2) = $dom->findnodes('/r/p/c'); 
$n1->replaceNode('XML::LibXML::Element'->new('n')); 
print $dom; 
print $n1, $n2; 

輸出:

<?xml version="1.0"?> 
<r><p><n/></p></r> 
<c/><c/> 
+0

爲什麼你在包名稱周圍有引號? – simbabque

+1

@simbabque:因爲http://www.perlmonks.org/?node_id=980498和':: - >'太難看了。 – choroba

+0

@simbabque,他們正在保護自己免受遠程可能性的影響,即存在一個名爲「XML :: LibXML」的子文件。 Perl實際上允許你使用'XML :: LibXML ::'來解決這個問題。 – ikegami