幾乎所有語言都支持xml,python也不例外,目前xml漸漸被json所取代,但是仍有一些行業和系統在使用,簡單介紹下python處理xml ...
幾乎所有語言都支持xml,python也不例外,目前xml漸漸被json所取代,但是仍有一些行業和系統在使用,簡單介紹下python處理xml
import xml.etree.ElementTree as ET
tree = ET.parse("xml文件") #讀取xml文件
root = tree.getroot() #獲取xml對象
print(root.tag) #獲取xml根
#遍歷xml
for child in root:
print(child.tag,child.attrib)
for i in child:
print(i.tag,i.attrib,i.text)
#只遍歷某個節點
for node in root.iter("節點名"):
print(node.tag,node.text)
#修改xml文檔內容
for node in root.iter("節點名"):
node.text = "內容" #修改內容
node.set("屬性名稱","屬性內容") #添加一個屬性
tree.write("xml文件") #寫會文件
#刪除node
for node in root.findall("節點名"):
root.remove("節點") #刪除一個屬性
tree.write("xml文件") #寫會文件
寫xml文件:
new_xml = ET.Element("namelist") #根節點
name = ET.SubElement(new_xml, "name" ,attrib = {"enrolled":"yes"}) #new_xml的子節點
age = ET.SubElement(name, "age" , attrib = {"checked":"no"}) #name的子節點
sex = ET.SubElement(name, "sex")
age.text = '33' #賦值
name2 = ET.SubElement(new_xml, "name" ,attrib = {"enrolled":"no"}) #new_xml的子節點
age = ET.SubElement(name2,"age")
et = ET.ElementTree(new_xml) #生成文檔對象
et.write("test.xml",encoding="utf-8",xml_declaration=True)
ET.dump(new_xml) #列印生成的格式