如何使用XML :: LibXML查找指定父项的子元素?

问题描述:

假设我有如何使用XML :: LibXML查找指定父项的子元素?

<table> 
    <person> 
     <ID>1</ID> 
     <Name>Adam</Name> 
    </person> 
    <student> 
     <Subject>Math</Subject> 
     <Marks>90</Marks> 
    </student> 
    <employee> 
     <ID>7</ID> 
     <Name>Bill</Name> 
    </employee> 
</table> 

我想要得到的table元素的子元素的XML文件。即,输出应为personstudentemployee。如何在Perl中使用XML::LibXML模块执行此操作?

+2

我们需要看到你写的代码,您所遇到的问题的描述。 – Borodin

for my $node ($doc->findnodes('/table/*')) { 
    say $node->nodeName(); 
} 

use XML::LibXML qw(XML_ELEMENT_NODE); 

my $root = $doc->documentElement(); 
for my $node (grep { $_->nodeType() == XML_ELEMENT_NODE } $root->childNodes()) { 
    say $node->nodeName(); 
}