在 perl 中获取 XML 树数据

Getting at XML tree data in perl

我需要使用 perl 解析一个 XML 文件,我可以使用 XML::Simple 模块加载该文件,但在 XML 树中有一个我无法加载的标签看到使用 DataDumper 模块,但我可以看到它的价值。

    <testcase id="10">
        .
        .
        .
    </testcase>

以上是带有 testcase 标签的 XML 文件的示例。这是我有困难的部分。使用 DataDumper 查看数组的内容,我看到类似这样的内容:

$VAR1 = {
          'testcases' => {
                         'file' => 'testcases.xml',
                         'testcase' => {
                                       '10' => {
                                                },

既然 XML 的定义是这样的,为什么不把它放在包含 id 的 VAR1 数组中呢?我得到的不是 testcases->testcase->id,而是 testcases->testcase->10。哪个 10 是 id 但 'id' 标签发生了什么?

那是因为默认配置包括

KeyAttr => [qw( name key id )]

指定

KeyAttr => []

将导致 id 与任何其他属性没有区别。