也是一種文本轉換形式。
import
xxxxxxxxxxxxxxxxxxx? as
xx,可以用xx代替xxxxxxxxxxxxxxxxxxx模塊
xml文件的新增,修改,刪除,查詢。
新增:?
import xml.etree.ElementTree
as ET?
new_xml=ET.Element('nameList')#創建xml的根節點相當于
name=ET.SubElement(new_xml,'name',attrib={'enrolled':'yes'})#往根節點中添加子節點name,子節點的的屬性
age=ET.SubElement(name,'age',attrib={'checked':'no'})#往節點中添加子節點age,子節點的的屬性
sex=ET.SubElement(name,'sex')
sex.text='33'
et=ET.ElementTree(new_xml)#生成文檔對象,元素樹
et.write('文檔數據/xml測試',encoding='utf-8')#把文檔對象寫入道文檔中?
??查詢:
tree=ET.parse('文檔數據/XML文本')#解析xml文本
root=tree.getroot()#獲取xml文本的根節點對象
print(root.tag)#tag用來獲取節點的名稱
for i in root:
for j in i:
print(j.tag)
print(j.attrib)#attrib用來獲取節點的屬性
print(j.text)#text用來獲取節點的值
for node in
root.iter('sex'):#獲取xml中的某一個屬性參數
print(node.tag,node.text)
??修改:
tree=ET.parse('文檔數據/XML文本')#解析xml文本
root=tree.getroot()#獲取xml文本的根節點對象
?for node in
root.iter('sex'):
new_sex=int(node.text)+1
node.text=str(new_sex)#通過賦值修改值
node.set('updated','yes')#通過set()方法修改屬性
tree.write('文檔數據/XML文本')#把修改后的樹寫入xml文本
刪除:?
tree=ET.parse('文檔數據/XML文本')#解析xml文本
?root=tree.getroot()#獲取xml文本的根節點對象
?for name
in root.findall('name'):
#findall()方法找到所有的name對象
?sex=int(name.find('sex').text)#find()方法找到對象中的某個屬性
?if
sex>30:
#如果sex值大于30則刪除該節點
?root.remove(name)
#通過remove方法刪除該節點
?tree.write('文檔數據/XML文本')#把修改后的樹寫入xml文本?