python 修改xml_使用python操作XML增删改查

使用python操作XML增删改查

什么是XML?

XML 指可扩展标记语言(EXtensible Markup Language)

XML 是一种标记语言,很类似 HTML

XML 的设计宗旨是传输数据,而非显示数据

XML 标签没有被预定义。您需要自行定义标签。

XML 被设计为具有自我描述性。

XML 是 W3C 的推荐标准

参考文献

导入模块

import xml.etree.ElementTree as ET

读取解析XML

可以从xml文件、字符串中解析

新建一个xml文件

<?xml version="1.0" encoding="UTF-8"?>

张三

18

89

李四

19

81

王五

17

92

从xml文件中读取,使用getroot()获取根节点,得到的是一个Element对象

tree = ET.parse('students.xml')

root = tree.getroot()

从字符串变量中读取,返回的是Element对象

root = ET.fromstring(country_data_as_string)

访问XML

每个Element都有以下属性

#tag = element.text #访问Element标签

#attrib = element.attrib #访问Element属性

#text = element.text #访问Element文本

for element in root.findall('student'):

tag = element.tag #访问Element标签

attrib = element.attrib #访问Element属性

text = element.find('name').text #访问Element文本

print(tag, attrib, text)

print(root[0][0].text) #子节点是嵌套的,我们可以通关索引访问特定的子节点

查找元素

Element 提供了一些方法来帮助我们对他的子节点进行遍历

1、Element.iter()

for student in root.iter('student'):

print student[0].text

out:

张三

李四

王五

2、Element.findall()

for element in root.findall('student'):

name = element.find('name').text

age = element.find('age').text

score = element.find('score').text

print name,age,score

out:

张三 18 89

李四 19 81

王五 17 92

修改XML

ElementTree.write()将构建的XML文档写入文件。

Element.text = '' 直接改变字段内容

Element.append(Element) 为当前的Elment对象添加子对象

Element.remove(Element) 删除Element节点

Element.set(key, value) 添加和修改属性

ElementTree.write('filename.xml') 写出(更新)XMl文件

创建XML

ElementTree.Element() 构建一个节点

ElementTree.SubElement(Element,tag) 构建一个子节点

a = ET.Element('a')

b = ET.SubElement(a, 'b')

c = ET.SubElement(a, 'c')

print ET.dump(a)

out:

<a><b /><c /></a>

总结

最近写东西需要都输出xml,所以学习了XML以及XML在python的使用。更多内容可以看官方文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值