Perl LibXML在循环中添加节点

时间:2018-07-27 08:05:33

标签: perl xml-libxml

我正在尝试将一个文档中的节点添加到我创建的新文档中,但是它不起作用,我也不知道为什么。这是出问题的代码:

my ($body_node) = $newdoc->findnodes('//body');
    my @nodes = $source_doc->findnodes('//div[starts-with(@psname, "xyz")]');
    foreach my $node(@nodes) {
        $body_node = $body_node->appendChild($node);
    }
$newdoc->toFile($outfile);

代码查找一些命名的div标签,并将其附加到body标签。问题在于它将它们附加到最后一个div标签上,而不是body标签上,因此我最后得到了一堆嵌套的div:

</div></div></div></div></div></div></div></div></div></div></div></div> 
</div></div></div></div></div></div></div></div></div></div></div></div></body></html>

如果有人可以告诉我我在做什么错,我将永远感激不已。

0 个答案:

没有答案