欢迎光临
我们一直在努力

python如何实现修改xml文件内容

这篇文章主要讲解了“python如何实现修改xml文件内容”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python如何实现修改xml文件内容”吧!

XML 被设计用来传输和存储数据。

HTML 被设计用来显示数据。

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

可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。

直接上代码,拿来就可用。

首先需要准备一个测试xml文件,我这个文件名字为text.xml

<data>
<country name="Liechtenstein">
<rank>yunweijia</rank>
<year>2022</year>
<gdppc>141100</gdppc>
<neighbor name="Austria" direction="E" />
<neighbor name="Switzerland" direction="W" />
</country>
<country name="Singapore">
<rank>yunweijia</rank>
<year>2023</year>
<gdppc>59900</gdppc>
<neighbor name="Malaysia" direction="N" />
</country>
<country name="Panama">
<rank>yunweijia</rank>
<year>2024</year>
<gdppc>13600</gdppc>
<neighbor name="Costa Rica" direction="W" />
<neighbor name="Colombia" direction="E" />
</country>
</data>

然后使用以下代码来进行修改;

import xml.etree.ElementTree as ET
def change_one_xml(xml_path, xml_dw, update_content):
# 打开xml文档
doc = ET.parse(xml_path)
root = doc.getroot()
# 查找修改路劲
sub1 = root.find(xml_dw)
# 修改标签内容
sub1.text = update_content
# 保存修改
doc.write(xml_path)

# 欲修改文件
xml_path = r'test.xml'

# 修改文件中的xpath定位
xml_dw = './/country[@name="Singapore"]/year'

# 想要修改成什么内容
update_content = '9999'
change_one_xml(xml_path, xml_dw, update_content)

运行完毕之后,我们可以看到源文件内容变成了;

<data>
<country name="Liechtenstein">
<rank>yunweijia</rank>
<year>2022</year>
<gdppc>141100</gdppc>
<neighbor name="Austria" direction="E" />
<neighbor name="Switzerland" direction="W" />
</country>
<country name="Singapore">
<rank>yunweijia</rank>
<year>9999</year>
<gdppc>59900</gdppc>
<neighbor name="Malaysia" direction="N" />
</country>
<country name="Panama">
<rank>yunweijia</rank>
<year>2024</year>
<gdppc>13600</gdppc>
<neighbor name="Costa Rica" direction="W" />
<neighbor name="Colombia" direction="E" />
</country>
</data>

感谢各位的阅读,以上就是“python如何实现修改xml文件内容”的内容了,经过本文的学习后,相信大家对python如何实现修改xml文件内容这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云搜网,小编将为大家推送更多相关知识点的文章,欢迎关注!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。