歡迎使用CSDN markdown編輯器

2021-06-28 21:27:11 字數 1921 閱讀 1695

from xml.etree import elementtree as etree #匯入xml的elementtree物件

from xml.dom import minidom as dom

class parserdata(object):

def __init__(self):

pass

def parser(self,file_object,tag='parameter'):

dicts = dict()

#讀取xml檔案物件

try:

iparse = etree.iterparse(file_object,['start','end'])

except exception,e:

print e

return dicts

#生成list

listxml = [elem for event,elem in iparse if event =='end' and elem.tag==tag]

if not listxml:

return dicts

#獲取物件的name值和value值

for tag_info in listxml:

if tag_info.get('name') in dicts:

if not type(dicts[tag_info.get('name')]) is list:

dicts[tag_info.get('name')] = [dicts[tag_info.get('name')],tag_info.get('value')]

else:

else:

dicts[tag_info.get('name')] = tag_info.get('value')

return dicts

from xml.etree import elementtree as etree #匯入xml的elementtree物件

from xml.dom import minidom as dom

class createdata(object):

definit(self):

pass

def create(self,path,dicts):

root = etree.element("metadata") #生成樹結構

root.set('version','1.0') #設定metadata的屬性

for name,value in dicts.items():

#對於多個檔案的列表

if type(value) is list:

for v in value:

#在root節點上新增子節點

parameter = etree.subelement(root,'parameter')

parameter.set('name',name)

parameter.set('value',v)

else:

parameter = etree.subelement(root,'parameter')

parameter.set('name',name)

parameter.set('value',value)

#生成樹結構的方法

tree =etree.tostring(root)

#調整生成xml檔案的格式(正確的檔案格式)

doc = dom.parsestring(tree)

f = open(self.xml_file_path(path),'w')

f.write(doc.toprettyxml())

f.close()

歡迎使用CSDN markdow

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎毛毛與妞妞使用CSDN markdown編輯器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

歡迎使用CSDN markdow1n編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...