2015-01-05 3 views
1

Мне нужно разобрать XML-файл с помощью Perl, который я могу загрузить файл с помощью модуля XML :: Simple, но внутри дерева XML есть тег, который я не вижу с помощью DataDumper но я вижу, что это значение.Получение данных дерева XML в perl

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

Выше приведен пример файла XML с тегом тестовый. Это та часть, с которой мне сложно. Использование DataDumper для просмотра содержимого массива я вижу что-то вроде этого:

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

Так как в XML определяется следующим почему он не изложил в массиве VAR1 с идентификатором включены? Вместо того, чтобы ожидать testcases-> testcase-> id, я получаю testcases-> testcase-> 10. Какой 10 является идентификатором, но что произошло с тегом id?

+1

'id' не является« тегом », это« атрибут ». – Jens

+1

Вместо этого я хотел бы взглянуть на 'XML :: Twig'. – Sobrique

+0

Спасибо за ваше предложение. XML :: Twig выглядит интересно, и я могу посмотреть на это. – todd1215

ответ

4

Это потому, что конфигурация по умолчанию включает в себя

KeyAttr => [qw(name key id)] 

Указание

KeyAttr => [] 

заставит id быть не отличается от любого другого атрибута.

+0

Вы правы, это атрибут. Мальчик, я долго не работал с XML. Думаю, мне нужно переподготовку. Спасибо за указатель. – todd1215