Perl LibXML:使用 load_xml 时 ..是否有等效的close_xml功能



当我在foreach循环中使用"load_xml"时,是否需要或等效的"关闭"cmd? 我一直在谷歌搜索/寻找,但我还没有找到。

与标有"<-这里也"的行有同样的关注? 我每次都在创建一个"新"架构。 我不必担心我正在创建这些"新"或"加载"实例,但我没有关闭它们吗?

注意:每个xml_file都是不同的,因此具有不同的 xsd 文件,因此需要循环。

my $parser = XML::LibXML->new({keep_blanks=>(0)});    
foreach my $xml_file (@xml_file_list)
{
 my $dom = $parser->load_xml(location => $xml_file) or die;
 my $schema_file = $xsd_path."/".$xsd_file;
 my $schema = XML::LibXML::Schema->new(location => $schema_file); #<--HERE too
 eval { $schema->validate($dom)};
 if ($@)
 {
  print "File failed validation: $@n";
 }
}

$dom用my声明。因此,一旦变量超出范围,该对象就会被销毁(除非有对它的引用)。

如果您想在范围结束之前删除对象,您甚至可以尝试undef $dom

最新更新