python通过ElementTree操作XML

python通过ElementTree操作XML

1.引入库

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

from xml.etree.ElementTree import ElementTree from xml.etree.ElementTree import Element from 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').text print 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 look def 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的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持易知道(ezd.cc)。

推荐阅读

    XML引入的常见问题

    XML引入的常见问题,,作者:angelgavin来源:CSDN 一般问题 什么是XML 可扩展标记语言(XML)是一个基于Web的通用语言,它使开发人员能够从许多不

    Python之可迭代对象、迭代器、生成器

    Python之可迭代对象、迭代器、生成器,迭代,生成器,一、概念描述可迭代对象就是可以迭代的对象,我们可以通过内置的iter函数获取其迭代器,可

    在wps导入xml|WPS表格导入XML数据

    在wps导入xml|WPS表格导入XML数据,导入,如何在,wps,xml,1.WPS表格怎么导入XML数据可以有三种方式导入数据:直接打开数据文件,使用ODBC数据源

    xml中合并的快捷键|xml文件怎么合并

    xml中合并的快捷键|xml文件怎么合并,,1. xml文件怎么合并1.打开一个需要用到的word文档文件。2.打开之后,在当前的页面中点击上面的 插入

    怎么用C语言写一个简单的XML文件

    怎么用C语言写一个简单的XML文件,文件,阿富汗,本文目录怎么用C语言写一个简单的XML文件c语言如何调用xml的接口函数用C语言读取xml文件,怎

    python用啥快捷键|python中快捷键

    python用啥快捷键|python中快捷键,,1. python中快捷键一、热键进入BIOS按主板的不同,在开机的第一时间按下对应的的热键就可以进入BIOS,不同

    python是一种什么类型语言

    python是一种什么类型语言,语言,是一种,本文目录python是一种什么类型语言python语言属于什么语言python是一种什么类型的语言python 是什