返回顶部
首页 > 资讯 > 后端开发 > Python >python如何通过ElementTree操作XML
  • 110
分享到

python如何通过ElementTree操作XML

2023-07-02 17:07:39 110人浏览 薄情痞子

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

摘要

这篇文章主要介绍“python如何通过ElementTree操作XML”,在日常操作中,相信很多人在Python如何通过ElementTree操作XML问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pytho

这篇文章主要介绍“python如何通过ElementTree操作XML”,在日常操作中,相信很多人在Python如何通过ElementTree操作XML问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python如何通过ElementTree操作XML”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.引入库

需要用到3个类,ElementTree,Element以及建立子类的包装类SubElement

from xml.etree.ElementTree import ElementTreefrom xml.etree.ElementTree import Elementfrom xml.etree.ElementTree import SubElement as SE

2.读入并解析

tree = ElementTree(file=xmlfile)root = tree.getroot()

读入后,tree是ElementTree的类型,获取xml根结点使用getroot()方法;

XML示例文件:

<item sid='1712' name='大CC'  ><a id=1></a><a id=2></a></item>

3.获取子结点

查找Element的所有子结点:

AArry = item.findall('a')

也可使用getchildren():

childs =  item.getchildren()     for subItem in childs:           print subItem.get('id')

4.插入子结点

方法一:

item = Element("item", {'sid' : '1713', 'name' : 'ityouhui'})root.append(item)

方法二:

SE(root,'item',{'sid':'1713','name':'ityouhui'})

方法一的好处是插入之后可以对item继续操作。方法二是写法上简单,其中SE就是SubElement,在引入处做了声明;

5.操作属性

获取Element的某个属性值(eg:获取item的 name)

print root.find('item/name').textprint item.get('name')

获取Element所有属性

print item.items()       # [('sid', '1712'), ('name', '大CC')]print item.attrib        # {'sid': '1712', 'name': '大CC'}

6.美化XML

在写入之前,传入root调用此函数,写入的XML文件格式整齐美观:

indent(root)book.write(xmlfile,'utf-8')
## Get pretty lookdef indent( elem, level=0):    i = "\n" + level*"  "    if len(elem):        if not elem.text or not elem.text.strip():            elem.text = i + "  "        for e in elem:            indent(e, level+1)        if not e.tail or not e.tail.strip():            e.tail = i    if level and (not elem.tail or not elem.tail.strip()):        elem.tail = i    return elem

到此,关于“python如何通过ElementTree操作XML”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: python如何通过ElementTree操作XML

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

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

猜你喜欢
  • python如何通过ElementTree操作XML
    这篇文章主要介绍“python如何通过ElementTree操作XML”,在日常操作中,相信很多人在python如何通过ElementTree操作XML问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”pytho...
    99+
    2023-07-02
  • python通过ElementTree操作XML
    1.引入库 需要用到3个类,ElementTree,Element以及建立子类的包装类SubElement from xml.etree.ElementTree import Ele...
    99+
    2024-04-02
  • Python如何操作XML文件
    这篇文章主要介绍“Python如何操作XML文件”,在日常操作中,相信很多人在Python如何操作XML文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何操作XML文件”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • Python操作xml
    Xml XML指可扩展标记语言(Extensible Markup Language) XML被设计用于结构化、存储和传输数据 XML是一种标记语言,很类似于HTML XML没有像HTML那样具有预定义标签,需要程序员自定义标签。 ...
    99+
    2023-01-31
    操作 Python xml
  • 如何通过ibatis操作mysql
    本篇文章为大家展示了如何通过ibatis操作mysql,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。步骤如下:1,在eclipse中新建一个工程ibatisnew,...
    99+
    2024-04-02
  • PHP如何操作XML
    本篇内容介绍了“PHP如何操作XML”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php操作XML<xml version=...
    99+
    2023-06-30
  • C#.NET如何操作XML
    小编给大家分享一下C#.NET如何操作XML,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如何让C#.NET操作XML?需要添加的命名空间:using System.Xml;要完成C#.NET操作XML,首先定义...
    99+
    2023-06-18
  • 如何通过phonegap操作数据库
    这篇文章主要介绍了如何通过phonegap操作数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。实例如下:<!DOCTYPE&nbs...
    99+
    2024-04-02
  • Angular.JS如何通过指令操作DOM
    这篇文章给大家分享的是有关Angular.JS如何通过指令操作DOM的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在指令而非在控制器中操作DOM相信大家在页面处理中,难免会遇到操...
    99+
    2024-04-02
  • python操作Xml文件
    一、简单介绍Xml是实现不同语言或程序进行数据交换的协议,跟json差不多,但是xml远远先于json出现,例如在很多传统的金融行业的很多系统接口还主要是xml格式。Xml的格式如下:<Settings modified="2016-...
    99+
    2023-01-31
    操作 文件 python
  • 如何在python中解析ElementTree
    这篇文章将为大家详细讲解有关如何在python中解析ElementTree,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python主要应用领域有哪些1、云计算,典型应用OpenStack。...
    99+
    2023-06-14
  • python使用dom操作xml
    1、xml的内容为del.xml,如下 <xml version="1.0" encoding="utf-8"> <catalog> <maxid>4</maxid> &...
    99+
    2023-01-31
    操作 python dom
  • 如何通过VBS脚本操作注册表
    这篇文章给大家分享的是有关如何通过VBS脚本操作注册表的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。①创建主键、创建各类型的键值。 ②读取键值并分析键值类型。 ③枚举主键及键值。 ④判断键或键值是否存在。 ⑤查询...
    99+
    2023-06-08
  • 如何通过C#程序操作Config文件
    本文小编为大家详细介绍“如何通过C#程序操作Config文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何通过C#程序操作Config文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。对于config文件,...
    99+
    2023-06-29
  • Python+Xml +操作+增删改查
    由于小编的系统需要进程间通信,想通过对Xml文件操作,来进行信息交互,于是写了一组相关的类。 xml文件: <xml version='1.0' encoding='utf-8'> <flags> ...
    99+
    2023-01-31
    操作 Python Xml
  • Python代码如何通过动态脚本语言进行操作
    这篇文章将为大家详细讲解有关Python代码如何通过动态脚本语言进行操作,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。我们在计算机语言的应用中一般情况下我们都可跳过Build这些Projec...
    99+
    2023-06-17
  • Java 通过API操作GraphQL
    目录引入依赖Java中使用GraphQL的API 无参数简单查询带参数简单查询GraphQL可以通过Java的API来实现数据的查询,通过特定的SDL查询语句,获取特定的查询数据。相...
    99+
    2024-04-02
  • C# 通过ServiceStack 操作Redis
    目录1.引用Nuget包 ServiceStack.Redis2. string 类型的使用作      &nb...
    99+
    2024-04-02
  • 如何通过linq语法来操作数据库
    小编给大家分享一下如何通过linq语法来操作数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先创建一个Console Application,然后创建一个名...
    99+
    2023-06-17
  • 三十二、python操作XML文件
    ''' XML:模块 xml总结 1、解析 str 文件 tree,ElementTree,type root,Element,type 2、操作 Element: tag,text,fin...
    99+
    2023-01-31
    操作 文件 三十二
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作