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

时间:2013-11-13 23:23:31

标签: perl libxml2

当我在foreach循环中使用“load_xml”时,是否需要或者我应该使用的等效“close”cmd?我一直在谷歌上搜索,但我还没找到。

对标有“< - HERE too”的行进行同样的关注?我每次都在创建一个“新”模式。我不必担心我正在创建这些“新”或“加载”实例,但我不是在关闭它们吗?

注意:每个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";
 }
}

1 个答案:

答案 0 :(得分:2)

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

如果你想在范围结束之前摆脱对象,你甚至可以尝试undef $dom