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