python生成xml檔案

2022-08-26 17:33:25 字數 1923 閱讀 7659

先上**:

1

#!/usr/bin/env python32#

_*_ coding: utf-8 _*_

3from xml.dom.minidom import

document67

defreadfile(filename, lines):

8 with open(filename, 'r'

) as f:

9for line in

f:10 line = line.rstrip('\n'

)11if line.startswith('

//') or len(line) ==0:

12continue

1314

15def

writexml(filename, lines, tagnames):16#

建立doc

17 doc =document()18#

建立根節點

19 root =doc.createelement(tagnames[0])

202122#

記錄每層節點的最新元素

23 nodes =

2425

for line in

lines:

26 index = line.rfind('')

27 level = (index + 1) / 4 + 1

28 line = line.lstrip('')

2930 node =doc.createelement(tagnames[level])

31 node.setattribute('

name

', line)

3234 nodes[level] =node

3536 with open(filename, 'w'

) as f:

37 f.write(doc.toprettyxml(indent='\t'

))38

39def

display(lines):

40for line in

lines:

41print

(line)

4243

if__name__ == '

__main__':

44 lines =

45 readfile('

./file/sector.txt

', lines)

4647 tagnames = ['

sectorfile

', '

sectors

', '

sector

', '

sector_second']

48 writexml('

./file/sector.xml

', lines, tagnames)

1. 使用庫 xml.dom.minidom

2. readfile函式

這個函式的功能上讀取檔案,並把每一行內容除去右邊空格,存入列表中

引數一:檔名

引數二:檔案行存入的列表

3. writexml函式

功能:讀取列表,生成xml檔案

引數一:生成的xml檔名

引數二:檔案行列表

引數三:xml標籤名

此處讀取的檔案,左側是通過tab鍵進行分層的。但由於編輯器設定的乙個tab鍵,替換成四個空格。所以此處的規律是查詢最後乙個空格出現的位置,加1除4就可以得到該檔案在xml中所處的層級。

第22行:此處的目的是建立乙個level-node的字典,用於存放當前層級的最新節點。便於字節點查詢父節點

python 生成xml檔案

from xml.dom.minidom import document 確保caffe在python路徑 import xml.dom.minidom doc document 建立dom文件物件 object doc.createelement objects objec name person...

python生成xml檔案

本次說明生成乙個xml格式的報文,並將其寫入文字 coding utf8 避免中文亂碼 author lxf import xml.dom.minidom as dom from xml.dom import minidom import random import time 這個方法用來代替min...

Python生成XML檔案

import xml.dom.minidom 在記憶體中建立乙個空的文件 doc xml.dom.minidom.document 建立乙個根節點managers物件 root doc.createelement managers 設定根節點的屬性 root.setattribute company...