开发者社区 问答 正文

列出文档元素的所有子节点

我有一个非常大的XML文件,我想列出文档元素的所有子节点。我正在使用下面的代码,它工作正常,但是处理文件花费的时间很长,并且还从不需要的document元素中获取数据:

use XML::Simple;
my $xml = XML::Simple->new();
my $d = $xml->XMLin("sample.xml");
my @arr = keys %$d;
print "@arr\n";

展开
收起
游客ufivfoddcd53c 2020-01-04 16:24:10 888 分享 版权
1 条回答
写回答
取消 提交回答
  • 通过使用XML :: LibXML和XPath。

    use 5.014;
    use warnings;
    use XML::LibXML;
    
    my $file = 'xml';
    my $dom = XML::LibXML->load_xml(location => $file);
    
    for my $child ($dom->findnodes( q{//document/*} )) {
        say $child->nodeName();
    }
    
    2020-01-04 16:24:33
    赞同 展开评论
问答分类:
问答地址: