CVE文档解析

前端之家收集整理的这篇文章主要介绍了CVE文档解析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
2014-1-5 17:50
#-*- coding:utf-8 -*-
from xml.etree import ElementTree
import xml.etree.ElementTree as xml

tree = xml.parse('allitems-cvrf-year-1999.xml')

for elems in tree.iter("{http://www.icasi.org/CVRF/schema/vuln/1.1}Vulnerability"):
    for firstchild in elems:
        if(firstchild.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}Title"):
            print "Title:",firstchild.text
        if(firstchild.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}Notes"):
            for i in firstchild:
                print "Notes",i.text
        if(firstchild.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}CVE"):
            print "CVE",firstchild.text
        if(firstchild.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}References"):
            for Reference in firstchild:
                print "\n"
                for i in Reference:
                    if(i.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}URL"):
                        print "URL",i.text
                    if(i.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}Description"):
                        print "Description",i.text

2014-1-5 17:55


from xml.etree import ElementTree
import xml.etree.ElementTree as xml

tree = xml.parse('allitems-cvrf-year-1999.xml')
d = {}
s = ''
for elems in tree.iter("{http://www.icasi.org/CVRF/schema/vuln/1.1}Vulnerability"):
    for firstchild in elems:
        if(firstchild.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}Title"):
            #print "Title:",firstchild.text
            d["CVE-ID"] = firstchild.text
        if(firstchild.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}Notes"):
            for i in firstchild:
                if(i.attrib["Type"] == 'Description'):
                    d["Description"] = i.text
                if(i.attrib["Type"] == 'Other' and i.attrib["Title"] == 'Published'):
                    d["Published"] = i.text
                if(i.attrib["Type"] == 'Other' and i.attrib["Title"] == 'Modified'):
                    d["Modified"] = i.text
                #print type(i.attrib)
                #print "Notes",i.text
        if(firstchild.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}References"):
            for Reference in firstchild:
                for i in Reference:
                    if(i.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}URL"):
                        if(i.text != None):
                            s = s + i.text + "  "
                            #print "URL",i.text
                    if(i.tag == "{http://www.icasi.org/CVRF/schema/vuln/1.1}Description"):
                        if(i.text != None):
                            s = s + i.text + "    "
                            #print "Description",i.text
                            
            d["References"] = s
    print d.items()
    print '\n'
    d.clear()

猜你在找的XML相关文章