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)

相关推荐

  • python 批量修改 labelImg 生成的xml文件的方法

    概述 自己在用labelImg打好标签后,想只用其中几类训练,不想训练全部类别,又不想重新打标生成.xml文件,因此想到这个办法:直接在.xml文件中删除原有的不需要的标签类及其属性. 打标时标签名出现了大小写(工程量大时可能会手滑),程序中有改写标签值为小写的过程,因为我做py-faster-rcnn 训练时,标签必须全部为小写. 以如下的.xml文件为例,我故意把标签增加了大写 <annotation verified="yes"> <filename>te

  • python批量修改xml文件中的信息

    目录 项目场景: 问题描述: 分析: 解决方案: 总结 项目场景: 在做目标检测时,重新进行标注会耗费大量的时间,如果能够批量对xml中的信息进行修改,那么将会节省大量的时间,接下来将详细介绍如何修改标注文件xml中的相关信息. 问题描述: 例如:当我有一批标注好的xml文件,文件格式如下图所示 : <?xml version='1.0' encoding='us-ascii'?> <annotation> <folder>VOC2012</folder>

  • 对python修改xml文件的节点值方法详解

    这是我的xml文件结构 <?xml version='1.0' encoding='utf-8'?> <annotation> <folder>JPEGImages</folder> <filename>train_2018-05-08_1000.jpg</filename> <path>D:\all_data\2018-05-08\JPEGImages\train_2018-05-08_1000.jpg</path

  • 使用python批量修改XML文件中图像的depth值

    最近刚刚接触深度学习,并尝试学习制作数据集,制作过程中发现了一个问题,现在跟大家分享一下.问题是这样的,在制作voc数据集时,我采集的是灰度图像,并已经用labelimg生成了每张图像对应的XML文件.训练时发现好多目标检测模型使用的训练集是彩色图像,因此特征提取网络的输入是m×m×3的维度的图像.所以我就想着把我采集的灰度图像的深度也改成3吧.批量修改了图像的深度后,发现XML中的depth也要由1改成3才行.如果重新对图像标注一遍生成XML文件的话太麻烦,所以就想用python批量处理一下.

  • python实现修改xml文件内容

    XML 被设计用来传输和存储数据. HTML 被设计用来显示数据. XML 指可扩展标记语言(eXtensible Markup Language). 可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的.它主要用到的有可扩展标记语言.可扩展样式语言(XSL).XBRL和XPath等. 直接上代码,拿来就可用. 首先需要准备一个测试​​xml​​​文件,我这个文件名字为​​text.xml​​:

  • Python实现批量修改xml文件的脚本

    今天分享一个我自己写的实用脚本,主要是将.xml文件进行批量的修改 首先,声明我并不是很了解.xml的相关知识,所以今天主要是以我遇到的问题来做个记录. 想要更多的了解xml,请看最后的资料分享. 效果展示: 因为这些是属于我们项目小组的,我也不清楚是不是有什么不能公开的,我就截取了一小部分,原本是用lambelme来修改的,但由于xml文件似乎读不进去,所以只有手动修改,将water改为blue(重要的是一个一个用记事本打开,手动修改),这时候我的第一生产力产生了,because I am l

  • 基于Python获取docx/doc文件内容代码解析

    这篇文章主要介绍了基于Python获取docx/doc文件内容代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 整体思路: 下载文件并修改后缀为zip文件,解压zip文件,所要获取的内容在固定的文件夹下:work/temp/word/document.xml 所用包,全部是python自带,不需要额外下载安装. # encoding:utf-8 import os import re import requests import zipf

  • python批量修改xml属性的实现方式

    今天来说说xml那些事儿.如何批量修改指定文件夹下的xml文件的指定属性.分三步走,首先,我们先看看如何读写单个 的xml文件;第二步,来看看如何遍历指定文件夹下的所有文件,获取到所有文件的文件名;第三步,我们来看看一二之间 该如何衔接.好,lets do it step1:对单个xml文件进行读写 给定一个xml文件: <?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>

  • Python批量修改xml的坐标值全部转为整数的实例代码

    发现一个有意思的现象,labelimg打开图片和xml标签时候,看不到标注好的框框,仔细查看了xml文件,没发现什么异常,后面试一下,才发现是不能识别xml里的坐标值有小数点的情况.只能四舍五入都转成整数. 如: <bndbox> <xmin>1404.35</xmin> <ymin>0</ymin> <xmax>1458.56</xmax> <ymax>111.96</ymax> </bnd

  • Python编程修改MP3文件名称的方法

    本文实例讲述了Python编程修改MP3文件名称的方法.分享给大家供大家参考,具体如下: 最近刚刚开始学习Python,顺便锻炼思维写的一个小函数,专门用来修改那些网上下载的mp3歌曲后名称不正确时候,使用该函数,使用方法 ModifyMp3FileInfo(r'E:/音乐/12345.mp3') Python代码: #!修改下载的Mp3文件名称为正确的Mp3文件 def ModifyMp3FileInfo(filename): mp3Id3V1 = { "tag":{"va

  • 在python中修改.properties文件的操作

    在java 编程中,很多配置文件用键值对的方式存储在 properties 文件中,可以读取,修改.而且在java 中有 java.util.Properties 这个类,可以很方便的处理properties 文件, 在python 中虽然也有读取配置文件的类ConfigParser, 但如果习惯java 编程的人估计更喜欢下面这个用python 实现的读取 properties 文件的类: """ A Python replacement for java.util.Pro

随机推荐