评论

收藏

[Linux] python实现修改xml文件内容详解

服务系统 服务系统 发布于:2022-08-15 10:17 | 阅读数:337 | 评论:0

导读这篇文章主要介绍了python实现修改xml文件内容,XML 指可扩展标记语言,是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的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文件内容的文章就介绍到这了
原文来自:


关注下面的标签,发现更多相似文章