Я довольно новичок в написании сценариев на Perl. Мне нужна помощь, чтобы получить значение атрибута XML total-alarms (в этом случае 11).получить значение атрибута xml с помощью perl
<?xml version="1.0" encoding="utf-8"?>
<alarm-response-list xmlns="url.com" throttle="11" total-alarms="11">
<alarm-responses>
<alarm id="51ebf6fc-0571-1001-0162-008014000af00" />
<alarm id="51ec0320-07af-1001-0162-008010400af00" />
<alarm id="51ebf6f4-0564-1001-0162-008014000af00" />
<alarm id="51ec1512-0bb2-1001-0162-008010400af00" />
<alarm id="51ec157d-0bed-1001-0162-008010040af00" />
<alarm id="51ebae1b-fa31-1000-0162-008010004af00" />
<alarm id="51ec06d4-08bf-1001-0162-00801000a4f00" />
<alarm id="51e8303f-740a-1000-0162-008014000af00" />
<alarm id="51ebeabc-0352-1001-0162-008010400af00" />
<alarm id="51ebf74d-0593-1001-0162-008010040af00" />
<alarm id="51ebf78d-05b3-1001-0162-008010004af00" />
</alarm-responses>
</alarm-response-list>
Безуспешно, я пытался использовать следующий Perl код:
my $parser4 = XML::LibXML->new();
my $doc4 = $parser4->parse_file($current_working_dir.'\POSTres.xml');
my $xc = XML::LibXML::XPathContext->new($doc4->documentElement() );
my $nod = $xc->findnodes('//alarm-response-list');
print "A: ".$nod->getAttributes("total-alarms")."\n";
Любую идею?
Как сохранить значение в переменной за пределами анонимной подпрограммы? а не просто печатать на экране. – shloro
объявить переменную перед синтаксическим разбором и назначить ей в обработчике. Магия закрытий заставит его работать. – mirod