This is a vuxml node from #FreeBSD security/vuxml port.

<vuln vid="44101b31-8ffd-11e7-b5af-a4badb2f4699">
<cancelled/>
</vuln>

I'm trying to detect cancelled vid.

I'm using perl's XML::DOM::PARSER

I tried:

my $cancelled = $node->getAttributeNode('cancelled');

and

my $cancelled = $node->setNodeValue('cancelled');

But that comes back as: Use of uninitialized value $cancelled

I don't know what functions to call to detect a cancelled node.

in reply to Dan Langille

AI slop says:

use XML::DOM::Parser;

my $parser = XML::DOM::Parser->new();
my $doc = $parser->parse('<vuln vid="44101b31-8ffd-11e7-b5af-a4badb2f4699">
<cancelled/>
</vuln>');

my $vuln_elements = $doc->getElementsByTagName('vuln');
if ($vuln_elements->getLength() > 0) {
my $vuln_element = $vuln_elements->item(0);
my $vid = $vuln_element->getAttribute('vid');
print "VID: $vid\n";
} else {
print "No vuln element found\n";
}

edit: github repos seem to also show this pattern being used

github.com/psigen/ace/blob/284…

This entry was edited (1 month ago)