我想转储类似于可以转储 perl 数据类型的方式的 xml doc 树。

use Data::Dumper;
print Dumper($foo);

递归转储 $foo 包含的结构(即使存在循环依赖)。

然而
use XML::LibXML;
my $parser = XML::LibXML->new();
my $doc    = $parser->parse_file($filename);
my @nodes  = $doc->findnodes($path);
foreach(@nodes)
{
    print Dumper($_);
}

只打印类似的东西
$VAR1 = bless( do{\(my $o = 46232224)}, 'XML::LibXML::Element' );

我想得到一个 LibXML 树 - 代表 XML 结构的元素。

最佳答案

您可以使用 serialize LibXML::Node 方法:

use XML::LibXML;
my $parser = XML::LibXML->new();
my $doc    = $parser->parse_file($filename);
my @nodes  = $doc->findnodes($path);
foreach my $node (@nodes)
{
    print $node->serialize;
}

关于perl - 转储 XML::LibXML 元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49450660/

10-11 17:44