use strict; use warnings; use XML::XPath; use XML::XPath::XMLParser; my $data_file = "./nvdcve-2.0-2008.xml"; my $cve_id = 'CVE-2008-3763'; my $query = "/nvd/entry[@id = $cve_id]"; my $xp = XML::XPath-> new(filename => "$data_file"); foreach my $cve_entry ($xp->findnodes($query)) { my $AV = $cve_entry->find('//entry/vuln:cvss/cvss:base_metrics/cvss:access-vector'); my $AC = $cve_entry->find('//entry/vuln:cvss/cvss:base_metrics/cvss:access-vector'); my $AV = $cve_entry->find('//entry/vuln:cvss/cvss:base_metrics/cvss:access-complexity'); # etc... } #### 6.8 NETWORK MEDIUM NONE PARTIAL PARTIAL PARTIAL http://nvd.nist.gov cvss:generated-on-datetime>2008-08-21T14:37:00.000-04:00