广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python操作Xml文件
  • 344
分享到

python操作Xml文件

操作文件python 2023-01-31 07:01:51 344人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

一、简单介绍Xml是实现不同语言或程序进行数据交换的协议,跟JSON差不多,但是xml远远先于json出现,例如在很多传统的金融行业的很多系统接口还主要是xml格式。Xml的格式如下:<Settings modified="2016-

一、简单介绍
Xml是实现不同语言或程序进行数据交换的协议,跟JSON差不多,但是xml远远先于json出现,例如在很多传统的金融行业的很多系统接口还主要是xml格式。Xml的格式如下:
<Settings modified="2016-12-29 20:15:53">
<CardConfig>
<CaptureCard value="3" />
<DeviceID value="0" />
<year>2016</year>
<Item width="243" height="288">采集卡配置</Item>
<InitParams value="0" />
</CardConfig>
<VideoSize width="640" height="480">
<rank update="2016-02-23">first</rank>
<Item width="125" height="78">视频配置</Item>
</VideoSize>
<Extend>
<Debug value="0" />
<DShowConnFirst value="0" />
<FrameRate value="15" />
<Item width="329" height="302">拓展配置</Item>
</Extend>
</Settings>
二、思路
从上面xml的格式文件中可以看出,xml内的所有内容均是由标签组成,而标签又可分为自闭和标签和非自闭和标签,自闭和标签是指非成对出现的标签,例如<CaptureCard value="3" />,非自闭和标签是指成对出现的标签,例如<year>2016</year>。
我们可以把xml文件的内容看做一个树形结构,它是由一层一层节点分散组成的,例如上面的例子中,根节点为Settings标签,第一节子节点分别为CardConfig、VideoSize、Extend,CardConfig的第二节子节点有CaptureCard、DeviceID、year、Item、InitParams;VideoSize的第二节子节点有rank、Item;Extend的第二节子节点有Debug、DShowConnFirst、FrameRate 、Item。所以我们要得到或操作各个节点的值,就需要依次进行遍历操作。
三、对XML文件的三种常见操作:
1.获取tag(标签)
如下图所示:
python操作Xml文件
2.获取attrib(属性)
如下图所示:
python操作Xml文件
3.获取text(标签值)
如下图所示:
python操作Xml文件
4.查询所有某种类型的标签
使用iter(tagname),如下图所示:
python操作Xml文件
5.修改标签的属性/内容
5.1修改所有一级标签下的二级标签CaptureCard的属性(只有CardConfig一级标签下有CaptureCard属性),如下图所示:
python操作Xml文件
5.2修改所有一级标签下的二级标签Item的内容值,如下图所示:
python操作Xml文件
以上的修改操作,截止到目前为止只是在计算机内存中完成,需要重新写入文件中,为了便于区分,我们重新写入(tree.write
()方法)一个新的文件。如下图所示:
python操作Xml文件
6.删除不满足的标签
删除二级节点下的Item属性width>250,代码如下:
python操作Xml文件
注意:最后必须要重新写入文件,不然之前的所有操作均是在计算机内存中进行的,为便于比较,写入到新的xml文件中,打开文件,如下图所示:

python操作Xml文件
四、整理代码如下:

import xml.etree.ElementTree as XET

#遍历文件
tree = XET.parse(r"C:\Users\ZhangJ\PyCharmProjects\untitled\python3\201804\tets_xml.xml")
print(tree)
print(type(tree))

#得到根节点
root = tree.getroot()
#根节点的标签
rtag = root.tag
print(rtag)

#遍历根节点,得一级子节点
for i in root:
    #获取一级子节点的标签
    ctag = i.tag
        print(ctag)
        print(type(ctag))   #str

    #获取一级子节点的属性值
    catt = i.attrib
        print(catt)
        print(type(catt))   #dict字典组成的键值对

    #遍历二级子标签
    for j in i:`
        #获取二级子节点的标签
        jtag = j.tag
                print(jtag)
                #获取二级子节点的属性
        jatt = j.attrib
                print(jatt)
                #获取二级子节点的值,若无则为None
        jtext = j.text
                print(jtext)

#查询某种所有类型的标签
for i in root.iter("Item"):
        print(i.tag,i.attrib,i.text)
    #pass

#修某标签的属性/内容
for i in root:
遍历二级子标签
    for j in i.iter("CaptureCard"):
    修改之前的属性值
    print("修改之前的属性值:",j.attrib)
    进行修改操作
    j.attrib ={"Newvalue":"33"}
    修改之后的属性值
    print("修改之后的属性值:",j.attrib)

for k in i.iter("Item"):
    修改之前的属性值
    print("修改之前的值:", k.text)
    进行修改操作
    k.text = u"重新开始" + k.text
    修改之后的属性值
    print("修改之后的值:", k.text)
    tree.write("Newxml.xml")

for i in root:
    #遍历二级子标签
    for j in i.iter("Item"):
        if int(j.attrib["width"])>250:
            i.remove(j)
            print("删除%s下的%s标签"%(i.tag,j.tag))
tree.write("Newremove.xml")

--结束END--

本文标题: python操作Xml文件

本文链接: https://www.lsjlt.com/news/191478.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python操作Xml文件
    一、简单介绍Xml是实现不同语言或程序进行数据交换的协议,跟json差不多,但是xml远远先于json出现,例如在很多传统的金融行业的很多系统接口还主要是xml格式。Xml的格式如下:<Settings modified="2016-...
    99+
    2023-01-31
    操作 文件 python
  • Python如何操作XML文件
    这篇文章主要介绍“Python如何操作XML文件”,在日常操作中,相信很多人在Python如何操作XML文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何操作XML文件”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • 三十二、python操作XML文件
    ''' XML:模块 xml总结 1、解析 str 文件 tree,ElementTree,type root,Element,type 2、操作 Element: tag,text,fin...
    99+
    2023-01-31
    操作 文件 三十二
  • python处理xml文件操作详解
    目录1、python 操作xml的方式介绍2、ElementTree模块3、解析xml格式字符串并获取根节点4、读取节点内容,getroot()5、通标标签名直接获取标签(find,...
    99+
    2022-11-11
  • Python操作XML文件的使用指南
    目录什么是 XMLPython XML 解析模块xml.etree.ElementTree 模块使用 parse() 函数使用 fromstring() 函数寻找感兴趣的元素修改 X...
    99+
    2022-11-11
  • Python对XML文件实现增删改查操作
    目录PYTHON 操作 XML读取XML文件遍历XML元素查找XML元素添加XML元素修改XML元素PYTHON 操作 XML 读取XML文件 关于XML的介绍 <data&g...
    99+
    2022-11-13
    Python XML增删改查 Python XML操作 Python XML修改
  • C#操作xml文件的方法
    本篇内容介绍了“C#操作xml文件的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#操作xml文件实例是如何的呢?让我们先看看问题:已...
    99+
    2023-06-17
  • Python操作xml
    Xml XML指可扩展标记语言(Extensible Markup Language) XML被设计用于结构化、存储和传输数据 XML是一种标记语言,很类似于HTML XML没有像HTML那样具有预定义标签,需要程序员自定义标签。 ...
    99+
    2023-01-31
    操作 Python xml
  • C#实现XML文件操作详解
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() { ...
    99+
    2022-12-23
    C# XML文件操作 C# XML 操作 C# XML
  • C#实用教程操作xml文件
    操作XML文件是C#编程中非常常见的任务之一。下面是一个简单的C#实用教程,演示如何使用C#读取、编辑和保存XML文件。读取XML文...
    99+
    2023-09-15
    C#
  • Java中使用DOM4J生成xml文件并解析xml文件的操作
    目录一、前言二、准备依赖三、生成xml文件生成标准展示四、解析xml文件五、总结一、前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有...
    99+
    2022-11-12
  • python操作XML格式文件的一些常见方法
    目录前言1. 读取文件和内容2.读取节点数据3.修改和删除节点4.构建文档 方式一ET.Element()补充:XML文件和JSON文件互转1、XML文件转为JSON文件2、JSON...
    99+
    2022-11-11
  • C#操作XML文件要注意什么
    本篇内容主要讲解“C#操作XML文件要注意什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#操作XML文件要注意什么”吧!要对XML文件进行操作,须要声明以下命名空间:using Syste...
    99+
    2023-06-17
  • java 如何使用org.w3c.dom操作XML文件
    本篇介绍在java中,如何使用org.w3c.dom中的相关内容来操作XML文件。包括: 如何在内存中构建XML文件并写入磁盘; 如何从磁盘读取XML文件到内存; ...
    99+
    2022-11-12
  • C#实现利用Linq操作Xml文件
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() { ...
    99+
    2022-12-29
    C# Linq操作Xml C# 操作Xml C# Linq Xml
  • python 文件操作api(文件操作函数)
    python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:...
    99+
    2022-06-04
    操作 文件 函数
  • Python--文件操作
    文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件  r模式,默认模式,文件不存在则报错 w模式,文件不存在则创建,文件存在则覆盖 a模式,文件不存在则创建,文件存在则不会覆盖,写内容会以...
    99+
    2023-01-30
    操作 文件 Python
  • python 操作文件
     python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 操作前需要 import os; 返回当前目录,不包括文件名: os.getcwd(); 返回指定目录下的所有文件和目录名:os.listdir("...
    99+
    2023-01-31
    操作 文件 python
  • python-文件操作
    文件操作 1.  读 / 写 操作 读取: r (read):只能读不能写,文件不存在就报错 ​#打开文件:    object = open('某txt文件',mode = 'r',encoding = '编码')​#读取文件所有内...
    99+
    2023-01-31
    操作 文件 python
  • 【Python】文件操作
    一、文件的编码 思考:计算机只能识别:0和1,那么我们丰富的文本文件是如何被计算机识别,并存储在硬盘中呢 答案:使用编码技术( 密码本)将内容翻译成0和1存入 编码技术即:翻译的规则,记录了如何将内容翻译成二进制,以及如何将二进制翻译回...
    99+
    2023-10-21
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作