当我在 foreach 循环中使用“load_xml”时,是否需要或应该使用等效的“关闭”cmd?我一直在谷歌搜索/寻找,但我还没有找到。
对标有“<-- HERE”的行有同样的担忧吗?我每次都在创建一个“新”模式。我不必担心我正在创建这些“新”或“加载”实例,但我没有关闭它们吗?
注意:每个 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";
}
}