天天看点

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>      

至此,本文结束。

 更多内容请转至VX公众号 “运维家” ,获取最新文章。

------ “运维家”  ------

------ “运维家”  ------

------ “运维家”  ------

系统运维工程师面试,运维工程师优秀员工提名词,tr运维工程师,特来电运维工程师工作日常,IT运维工程师高级;

智能制造运维工程师培训课程,远程办公的运维工程师,迈瑞医疗运维工程师工资待遇,后台运维工程师是做什么的;