python xml檔案 操作

2021-08-18 21:17:26 字數 2138 閱讀 9311

我的.xml檔案如下:

通過如下**模板,可實現對.xml檔案的資訊快捷讀取:

# 導入庫檔案

from xml.etree.elementtree import elementtree, element

# 指定.xml檔案位址

xml_path = "/users/megvii/desktop/retail/001.xml"

defmain

(): tree = elementtree()

tree.parse(xml_path)

# 對一級text的獲取

folder = tree.find('folder').text # milkpowder

filename = tree.find('filename').text # image005.png

path = tree.find('path').text # ../../image005.png

size = tree.find('size')

size_width = size.find('width').text # 1440

size_height = size.find('height').text # 1080

size_depth = size.find('depth').text # 3

segmented = tree.find('segmented').text # 0

# 對所有object的獲取

objs = tree.findall('object')

# 對每個子object分別進行text獲取

for idx in range(len(objs)):

tag = objs[idx].find('name').text

x1 = int(round(float(objs[idx].find('bndbox').find('xmin').text)))

y1 = int(round(float(objs[idx].find('bndbox').find('ymin').text)))

x2 = int(round(float(objs[idx].find('bndbox').find('xmax').text)))

y2 = int(round(float(objs[idx].find('bndbox').find('ymax').text)))

bbox = [x1, y1, x2, y2]

if __name__ == "__main__":

main()

# 導入庫檔案

from xml.etree.elementtree import elementtree, element

# 指定.xml檔案位址

xml_path = "/users/megvii/desktop/001.xml"

defmain

(): tree = elementtree()

tree.parse(xml_path)

objs = tree.findall('object')

# 修改 指定屬性 的 文字

objs[0].find('name').text = "nanjing"

# 將新的tree覆蓋寫入原xml檔案

tree.write(xml_path, encoding="utf-8")

if __name__ == "__main__":

main()

成功將第乙個「object」項的」name」屬性的文字改為了「nanjing」:

.xml檔案資訊的存放類似於多級的字典(dict)。

因此,通過xml.etree.elementtree庫對.xml檔案資訊的讀取,其實就是在分級text下對指定key進行的value讀取。

[1] python xml屬性/節點/文字的增刪改[xml.etree.elementtree]

PythonXML檔案解析

sax是一種基於事件驅動的api。利用sax解析xml文件牽涉到兩個部分 解析器和事件處理器。解析器負責讀取xml文件,並向事件處理器傳送事件,如元素開始跟元素結束事件 而事件處理器則負責對事件作出相應,對傳遞的xml資料進行處理。適於處理下面的問題 在python中使用sax方式處理xml要先引入...

python xml解析例子

coding utf 8 created on thu apr 16 23 18 27 2015 author shifeng 功能 解析cdr sample.xml檔案,輸出格式為dnorm接收的格式,並將訓練集的 label 寫入到文件中 xml檔案 見csdn資源共享 import codec...

學習筆記 Python XML解析

xml.sax 菜鳥教程 官網文件 python由xml包 lib xml 提供對xml的支援。python處理xml主要有兩種模型,xml.dom和xml.sax分別定義了兩種處理模型的介面 the xml handling submodules are 手冊 inte ce section pu...