Heim > Artikel > Backend-Entwicklung > Vertiefte Kenntnisse der XML-Operationen in Python
Dieser Artikel führt hauptsächlich in die XML-Operation ein und vertieft das Verständnis von Python. Ich werde ihn jetzt mit Ihnen teilen und ihn als Referenz verwenden. Folgen wir dem Editor und werfen wir einen Blick darauf.
XML-Inhalt lesen:
-*- coding:utf-8 -*- # Author: Evan Mi import xml.etree.ElementTree as ET tree = ET.parse('test.xml') root = tree.getroot() print(root.tag) # 一个节点有tag、attrib、text三个值 # tag是标签的名字 # text是标签的内容 # attrib是标签属性的字典,通过字典的get('key')来获取对应的属性的值 # 直接for chile in parent 来遍历节点下的子节点 for child in root: print(child.tag, child.attrib) for elem in child: print(elem.tag, elem.text, elem.attrib) # 只遍历year节点 for node in root.iter('year'): print(node.tag, node.text)
XML-Inhalt generieren:
# -*- coding:utf-8 -*- # Author: Evan Mi import xml.etree.ElementTree as ET new_xml = ET.Element('namelist') name = ET.SubElement(new_xml, 'name', attrib={'enrolled': 'yes'}) age = ET.SubElement(name, 'age', attrib={'checked': 'no'}) sex = ET.SubElement(name, 'sex') sex.text = '33' name2 = ET.SubElement(new_xml, 'name', attrib={'enrolled': 'no'}) age = ET.SubElement(name2, 'age') age.text = '19' et = ET.ElementTree(new_xml) # 生成文档对象 et.write('te.xml', encoding='utf-8', xml_declaration=True) ET.dump(new_xml) # 打印生成的格式
XML-Inhalt ändern und löschen:
# -*- coding:utf-8 -*- # Author: Evan Mi import xml.etree.ElementTree as ET tree = ET.parse('test.xml') root = tree.getroot() # 修改 for node in root.iter('year'): new_year = int(node.text) + 1 node.text = str(new_year) # 修改内容 node.set("updated", "yes") # 修改属性 tree.write('tt.xml') # 删除 for country in root.findall('country'): rank = int(country.find('rank').text) if rank > 50: root.remove(country) tree.write('tt1.xml')
Verwandte Empfehlungen:
Python liest und schreibt XML-Dateien
XML-Dateioperationen in Python
Das obige ist der detaillierte Inhalt vonVertiefte Kenntnisse der XML-Operationen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!