Python 官方文档:入门教程 => 点击学习
XML 被设计用来传输和存储数据。 html 被设计用来显示数据。 XML 指可扩展标记语言(eXtensible Markup Language)。 可扩展标记语言(英语:Exte
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文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: python实现修改xml文件内容
本文链接: https://lsjlt.com/news/119649.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0