您可以将节点从一个XML文档复制/导入到另一个XML文档吗?

时间:2012-04-20 18:17:24

标签: xml perl

我有两个XML文档,格式如下:

第一份文件:

<person> 
  <name>David</name> 
</person>

第二份文件:

<person> 
  <name>David</name> 
  <hobby>Skating</hobby> 
</person>

是否可以将第二个节点<hobby>Skating</hobby>复制到第一个XML中,如果它还不存在的话?我正在使用XML :: SemanticDiff来查找差异的XPath,并使用LibXML将文本附加到该节点中所做的更改:

for my $node ($root->findnodes($path_change)) { 
  $root->removeChildNodes(); 
  $node->appendText("This is a test"); 
}

1 个答案:

答案 0 :(得分:2)

my ($dst_person) = $dst_root->findnodes('//person');
my ($dst_hobby) = $dst_person->findnodes('hobby');
if (!$dst_hobby) {
   my ($src_hobby) = $src_root->findnodes('//person/hobby');
   $dst_person->appendChild( $src_hobby->clone(1) );
}