python:xml模块用法-xml处理、修改、删除

xmltest.xml内容如下:
<data>
<country name="Liechten">
<rank updated="yes">1</rank>
<year updated_by="Alex">2017</year>
<gdppc>140000</gdppc>
<neighbor direction="E" name="Austria" />
<neighbor direction="W" name="Switzerland" />
</country>
</data>



xml处理:
import xml.tree.ElementTree as ET

tree=ET.parse("xmltest.xml")
root=tree.getroot() #获取根节点
print(root)
print(root.tag)

#遍历xml
for child in root:
......print(child.tag,child.attrib) #打印孩子节点标签和属性
......for i in child:
............print(i.tag,i.text.i.attrib)

#只遍历year节点
for node in root.iter('year')
......print(node.tag,node.text)



#xml修改

for node in root.iter('year'):
......new_year=int(node.text)
......node.text=str(new_year)
......node.set("updated_by","cai")
tree.write("xmltest.xml")



#删除
for country in root.findall('country'):
......rank=int(country.find('rank').text)
......if rank>50:
..........root.remove(country)
tree.write('output.xml')



#自己编写
import xml.etree.ElementTree as ET

new_xml=ET.Element("personinfolist")
personinfo=ET.SubElement(new_xml,"personinfo",attrib={"enrolled":"yes"})
name=ET.SubElement(personinfo,"name")
name.text="huaha"
age=ET.SubElement(personinfo,"age",attrib={"checked":"no"})
age.text='12'

et=ET.ElementTree(new_xml) #生成文档对象
et.write("test.xml",encoding='utf-8',xml_declaration=True)
ET.dump(new_xml) #打印生成的格式

转载于:https://blog.51cto.com/3906249/2152682

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值