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.
feld
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…
ace/bin/FOCUS/Parser/FOCUSParser.pm at 2845970c894bb350d12d6a32e867d7ddf2487f25 · psigen/ace
GitHub