我只想解析一个感兴趣的 xml 元素(例如,见下文:名称等于数学的类元素),并且我想在解析达到此条件的第一个元素时停止。(由于只有一个类名为 math,一旦找到元素就没有必要继续了)。
但是,如果我按如下方式实现,则代码在找到我感兴趣的元素后会继续读取整个文件(xml 文件很长,因此需要很长时间)。我的问题是,一旦解析了 name = math 的第一个类元素,如何停止它?
my $twig = new XML::Twig(TwigRoots => {"class[\@name='math']" => \&class});
$twig->parsefile( shift @ARGV );
此外,我还想在解析后从 xml 文件中(不仅从内存中)删除该类,以便下次解析具有其他名称的类时,不会解析该类元素。有可能这样做吗?