python将xml文件转换成excel文件

#coding=utf8
from xml.dom import minidom
from excute_excel import  executeExel #自己写的模块

class Xml():
     def  getxml(self):
         #打开xml文档
         dom = minidom.parse(r'testsuite-deep.xml')
         #用于得到dom对象的文档元素,并把获得的对象给root
         root = dom.documentElement
         #可以使用getElementsByTagName方法获取元素
         itemlist = root.getElementsByTagName('testcase')


         row =1
         for i in itemlist:

            #getAttribute方法可以获得元素的属性所对应的值
            name= i.getAttribute('name')
            actions = i.getElementsByTagName('actions')
            expectedresults = i.getElementsByTagName('expectedresults')
            preconditions = i.getElementsByTagName('preconditions')

            plist = []
            for pre in preconditions:
                # childNodes返回子节点的一个列表,如果子节点有值,则进行如下操作
                if len(pre.childNodes)>0:
                    # 获取第一个子节点的数据
                    p =  str(pre.childNodes[0].data)
                    #将输出的一些字符清楚
                    pre = p.replace('

', '').replace('tab', '').\ replace('

', '').replace('\n', '').replace('
', '') plist.append(pre) precontent = '\n'.join(plist) print(precontent) list = [] for action in actions: #childNodes返回子节点的一个列表,如果子节点有值,则进行如下操作 if len(action.childNodes)>0: #获取第一个子节点的数据 a = str(action.childNodes[0].data) a = a.replace('

','').replace('tab','').replace('

','').replace('\n','') \ .replace('
', '') list.append(a) else: pass step = '\n'.join(list) elist = [] for expectedresult in expectedresults: if len(expectedresult.childNodes)>0: m = str(expectedresult.childNodes[0].data) m = m.replace('

', '').replace('tab', '').replace('

', '').replace('\n', '')\ .replace('
','') elist.append(m) else: pass expect = '\n'.join(elist) try: excel = executeExel('web.xls') excel.write_exist_excel_result(row, 0,precontent) excel.write_exist_excel_result(row,2,name) excel.write_exist_excel_result(row, 3, step) excel.write_exist_excel_result(row, 4, expect) row += 1 except Exception as e: print(e) if __name__ == '__main__': xm = Xml() xm.getxml()

 

你可能感兴趣的:(python)