`
忧里修斯
  • 浏览: 436226 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Python使用xml.etree.ElementTree操作xml文件

阅读更多
一、基本知识
1、插入节点
Element.insert(index, element) 、ET.SubElement(parent, tag[, attrib[, **extra]]) 、Element.append(subelement)
2、删除节点
Element.remove(subelement) 删除一个节点、Element.clear()删除该节点下所有子节点
3、在节点中插入属性
Element.set(key, value)

二、示例
# -*- coding:UTF-8 -*-

import xml.etree.ElementTree as ET
import xml.dom.minidom as minidom

#获取根节点
def getRoot(xmlpath):
    '''
    xmlpath:xml文件的路径
    '''
    root = ET.parse(xmlpath).getroot()
    return root

#格式化输出xml文件
def display(root):
    
    rough_string = ET.tostring(root, 'utf-8')
    reparsed = minidom.parseString(rough_string)
    print reparsed.toprettyxml(indent="  " , encoding="utf-8");


if __name__ == '__main__':
    
    root = ET.Element('bookList')
    
    #==============添加节点========================
    #向root节点下插入节点<book id='ISO001'>
    bookE = ET.SubElement(root,'book')#方式一
    bookE.set('id', 'ISO001')#为节点添加属性
    #向<book>节点下插入<author>Gaosilin</version>节点
    authorE = ET.Element('author')
    authorE.text = 'Gaosilin'#为节点赋值
    bookE.append(authorE)#方式二
    ##向<book>节点下插入<name>Java</name>节点
    nameE = ET.Element('name')
    nameE.text = 'java'
    bookE.insert(1,nameE)#方式三
    #修改
    nameE.text = '修改后的C'
    display(root)
    #==============删除节点========================
    bookE.remove(nameE)#注意需删除的节点一定要是该父节点的下一级节点
    bookE.remove(authorE)
    bookE.clear()#删除该节点下的所有子节点,等价于上两句
    root.remove(bookE)
#    root.remove(nameE)#出错:因为nameE的上一级节点是bookE而不是root
    display(root)

分享到:
评论

相关推荐

    Python3 xml.etree.ElementTree支持的XPath语法详解

    Python3的xml.etree.ElementTree模块提供了一个XML处理...了解并熟练运用XPath与Python3的xml.etree.ElementTree模块相结合,可以有效地解析和操作XML数据,尤其在处理复杂XML结构时,能够提高代码的简洁性和可读性。

    使用Python的`xml.etree.ElementTree`模块处理XML数据

    Python提供了一个内置的模块xml.etree.ElementTree(简称ET),它是一个简单而强大的工具,用于解析和创建XML数据。本文将详细介绍如何使用这个模块来处理XML文件,包括解析、创建、修改和保存XML数据。 xml.etree....

    9.7. xml.etree.ElementTree — ElementTree XML的接口(翻译).pdf

    Python是一种流行的编程语言,它通过内置的xml.etree.ElementTree模块为处理XML文档提供了一种简单而有效的方法。 xml.etree.ElementTree模块是Python的标准库中的一个组件,它提供了一种处理XML数据的机制。它允许...

    python xml.etree.ElementTree遍历xml所有节点实例详解

    在本篇文章中,我们将深入探讨如何使用 Python 的内置库 `xml.etree.ElementTree` 来遍历 XML 文件中的所有节点,并提取所需的信息。通过一个具体的示例,我们将了解这一过程的实现方式以及需要注意的关键细节。 ##...

    Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法

    Python提供了多种库来处理XML文件,其中最常用的两个模块是`xml.dom.minidom`和`xml.etree.ElementTree`。本文将详细介绍这两个模块在解析XML文件时的应用,并展示如何封装函数以实现特定的查询功能。 首先,`xml....

    Python创建xml文件示例

    在Python中创建XML文件是通过使用内置的`xml.etree.ElementTree`模块来实现的。这个模块提供了方便的API来创建、解析和处理XML数据。本示例将详细讲解如何利用`ElementTree`来创建一个XML文件。 首先,导入所需的...

    python生成xml

    综上所述,Python 生成和处理 XML 主要依赖 `xml.etree.ElementTree` 模块,通过创建和操作 `Element` 对象构建 XML 结构,然后将其写入文件。对于复杂场景,可以考虑使用 `lxml` 提升效率。在实际应用中,应根据...

    python_elementt_xml.zip_python xml_xml解析 python

    在提供的`python使用elementtree模块解析xml.txt`文档中,应包含了使用`ElementTree`解析XML的详细代码示例。通过学习这些代码,你可以理解如何根据实际需求处理XML数据。实践中,可能涉及更复杂的操作,如处理命名...

    python根据excel表修改xml.rar

    在本场景中,它被用来读取Excel文件(通常由pandas库处理)并操作XML文件(可能使用lxml或xml.etree.ElementTree库)。 1. **pandas库**:pandas是Python中用于数据分析的核心库,它提供了一个叫做DataFrame的数据...

    用Python解析XML文件的软件实现.zip

    在Python中,常用的XML解析库有`xml.dom.minidom`、`ElementTree`(包括`xml.etree.ElementTree`和`cElementTree`)以及`lxml`。下面我们将逐一介绍这些库的使用方法。 1. **xml.dom.minidom** `xml.dom.minidom`...

    python_XML-6-17.rar_python 文件_python xml_python读写xml_python读写xm

    总之,Python的`xml.etree.ElementTree`模块为处理XML文件提供了一套完整的工具。无论你是要读取XML数据,还是创建新的XML文档,甚至是进行复杂的XML数据解析,这个模块都能满足需求。通过熟练掌握这些基本操作,你...

    Python读写XML文件实例

    首先,Python中处理XML文件最常用的库是`xml.etree.ElementTree`,它提供了一套完整的API来解析和构建XML文档。`ElementTree`库主要包含两个模块:`ElementTree`和`Element`。`ElementTree`用于处理整个XML文档,而`...

    python对XML文件的操作实现代码

    以上就是Python使用`xml.etree.ElementTree`库处理XML的基本操作,包括创建、查询、修改和删除。这些基本操作构成了处理XML文档的基础,可以根据实际需求进行组合和扩展。在实际项目中,根据XML结构的不同,可能会...

    Python解析创建xml文件的代码

    这个脚本通常会使用Python的`xml.etree.ElementTree`模块来创建XML文件。`ElementTree`模块提供了一个高级接口,用于解析和生成XML数据。以下是一个简单的例子: ```python import xml.etree.ElementTree as ET # ...

    pp.zip_python xml_python读写xml_读写 python

    总结来说,Python的`xml.etree.ElementTree`模块提供了一套强大的工具,使得XML文件的读写、修改和查询变得简单易行。无论你是新手还是经验丰富的开发者,掌握这些技能都将极大地提升你在处理结构化数据时的效率。

    python文件对比 xml、excel

    对于XML文件,Python内置了`xml.etree.ElementTree`模块,它提供了解析和生成XML文档的功能。对于Excel文件,我们可以使用pandas库,它支持读写Excel文件,并且在处理表格数据时非常强大。 1. **读取XML文件**: ...

    python读取xml文件代码

    在Python中,我们可以使用内置的`xml`模块来处理XML文件,特别是`xml.etree.ElementTree`子模块,它提供了方便的API来解析和操作XML文档。首先,我们需要导入`ElementTree`模块: ```python import xml.etree....

Global site tag (gtag.js) - Google Analytics