批量改寫xml檔案內容

2021-10-01 20:55:32 字數 1543 閱讀 8712

**略

xml.etree.elementtree(簡稱et)

xml.etree.elementtree模組實現了乙個簡單而高效的api用於解析和建立xml資料。實際上,xml.etree.elementtree可以用於處理任何樹結構的資料,但最常用於處理xml文件。

1、匯入et

兩種匯入方式:

①import xml.etree.elementtree

②import xml.etree.celementtree(速度更快一點)

如果不確定環境中是否有celementtree,可以使用如下方式匯入:

try: 

import xml.etree.celementtree as et

except importerror:

import xml.etree.elementtree as et

2、解析xml

有兩種方式可以解析xml檔案:

①從檔案中解析xml檔案

import xml.etree.celementtree as et

tree = et.elementtree(file = 'xml路徑')

root = tree.getroot() #獲取根節點

import xml.etree.elementtree as et

tree = et.parse('xml檔案路徑')

root = tree.getroot() #獲取根節點

#或者tree = et.elementtree()

tree.parse('xml檔案路徑')

root = tree.getroot()

import xml.etree.elementtree as et

data = open('xml檔案路徑').read()

root = et.fromstring(data)

read()讀取檔案中所有的內容,並將其作為乙個字串輸出。

fromstring()函式將字串轉換為乙個element,解析樹的根節點。

3、節點.tag——節點名

節點.attrib——節點屬性

節點.get('屬性名字')——查詢相符的節點屬性

節點.text——節點文字

節點.tail——節點附加文字

節點[:]——子節點列表

len(節點)——統計子節點個數

4、節點.findall('子節點名字')——(非遞迴)查詢節點下所有相符的子節點,返回列表

節點.iter('子節點名字')——(遞迴)查詢所有相符的子節點,返回列表

節點.find('子節點名字')——查詢節點下第乙個相符的子節點

節點.findtext('子節點名字')——查詢節點下第乙個相符的字節點並返回其text值

5、通過下標直接訪問節點

root[0][1]:根節點下的第乙個節點下的第二個節點

6、tree.write()寫出xml文字

如何讀取XML檔案內容

下面是通過讀取xml檔案中的內容並顯示在textbox的例子 以下是引用片段 using system using system.data using system.configuration using system.web using system.web.security using syst...

記錄讀取xml檔案內容

記錄下使用document類去讀取xml檔案內容 xml內容 1 xml version 1.0 encoding utf 8 2 schools 3 school id 1 name school1 4 class id 11 name class11 5 student id 111 name ...

Ubuntu 批量更改檔案內容

今天大清早的時候,boss突然給我說,我現在做的這個專案要求命名全部是小寫,如果複雜的命名用下劃線代替,因為我是半路接手這個專案的,所以做了差不多兩個月才知道這個要小寫。瞬間欲哭無淚 既然要改,那就動手吧!開始boss建議讓我用php寫個程式來修改檔案,但是試了一下,感覺不太好使。最後想到乾脆用命令...