在Perl中,如何解析一个太大而无法容纳在可用内存中的XML文件?

Pau*_*lin 1 xml perl

我有一个非常大的XML文件(如果你关心,它是来自EAD的AIXM文件,但这并不重要).为了弄清楚它是如何使用的,我想编写一个简单的脚本,遍历每个节点,记录下面发生的子节点和多少次,这样我就可以看到哪些节点包含哪些节点<AptUid>以及大多数<Rdn>节点是否有<GeoLat>节点不是,那种事.

我试图使用XML :: Simple将整个东西加载到hashref中,但它太大而无法放入内存中.是否有XML解析器允许我一次只查看一个文件?