import xml.etree.ElementTree as ET
# xml通过节点来区别内容
tree = ET.parse("testxml.xml")
root = tree.getroot()
# print(root) # xml文档在内存中的位置
# print(root.tag) # 根标签名
# 遍历xml文档
for child in root:
print(child.tag, child.attrib)
for tmp in child:
print(tmp.tag, tmp.text)
# 只遍历people节点
for node in root.iter('people'):
print(node.tag, node.text)
# 修改
for node in root.iter('people'):
new_people = int(node.text) + 1
node.text = str(new_people)
node.set("updated", "yes")
tree.write("testxml.xml")
# 删除
for country in root.findall('country'):
x1 = int(country.find('x1').text)
if x1 > 50:
root.remove(country)
tree.write("hahaha.xml")
# 创建xml
new_xml = ET.Element("hinimix_friend")
friend_info = ET.SubElement(new_xml, "friend_info", attrib={"enrolled": "yes"})
name = ET.SubElement(friend_info, "name")
name.text = 'reaphix'
age = ET.SubElement(friend_info, "age", attrib={"checked": "no"})
age.text = '40'
gender = ET.SubElement(friend_info, "gender")
gender.text = "male"
friend_info2 = ET.SubElement(new_xml, "friend_info", attrib={"enrolled": "yes"})
name = ET.SubElement(friend_info2, "name")
name.text = 'wook'
age = ET.SubElement(friend_info2, "age", attrib={"checked": "no"})
age.text = '22'
gender = ET.SubElement(friend_info2, "gender")
gender.text = "female"
et = ET.ElementTree(new_xml)
et.write("fck.xml", encoding="utf-8", xml_declaration=True)