python elementtree属性_python通过ElementTree操作XML获取结点读取属性美化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示例文件:
代码如下:
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属性_python通过ElementTree操作XML获取结点读取属性美化XML相关推荐
- 和python高级知识_Python中的5个高阶概念属性的知识点!你要了解明白哦!
在现代编程世界中,面向对象编程(OOP)语言在改变软件开发中的设计和实现模式方面发挥了进化作用.作为OOP家族的重要成员,Python在过去10年左右逐渐流行起来.与其他OOP语言一样,Python围 ...
- python获取数据库列名_python sqlite3 查询操作及获取对应查询结果的列名
记录查询操作及获取查询结果列字段的方法 1.sqlite3 中获取所有表名及各表字段名的操作方法 SQLite 数据库中有一个特殊的表叫 sqlite_master,sqlite_master 的结构 ...
- python解析xml+得到pascal voc xml格式用于目标检测+美化xml
1.python解析xml img_path='./data/001.tif'xml_path='./xml/001.xml'img=cv2.imread(img_path)# cv2.imshow( ...
- html元素自己属性代码,jQuery如何操作HTML的元素和属性?(代码详解例)
本篇文章给大家带来的内容是介绍jQuery如何操作HTML的元素和属性?(代码详解例),让大家了解jQuery操作元素和属性的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 1 ...
- log4j2.xml 获取当前系统属性
官方文档: Log4j – Apache Log4j 2 获取微服务名称 Log4j Spring Boot Integration – Log4j Spring Boot Support <p ...
- java entity公共属性_java – 如何从Entity Manager获取jpa数据源属性
大家好 我想知道是否可以通过实体管理器获取数据库连接属性. 我的persistence.xml看起来像这样 DatasourceForTestSystem some.package.and.some. ...
- 静态变量读取属性文件_一种通过变量插值读取属性的方法
静态变量读取属性文件 最近,我尝试在应用程序服务器中定义和读取全局属性. 在应用程序服务器中配置的此类属性的好处–可以在此服务器上部署的所有Web应用程序之间共享该属性. 每个部署的应用程序都可以读取 ...
- jq ajax xml,jQuery+ajax读取并解析XML文件的方法
本文实例讲述了jQuery+ajax读取并解析XML文件的方法.分享给大家供大家参考,具体如下: ajax.xml: zhangsan 1 lisi 2 demo.html: /p> " ...
- php类3个属性是哪3种,PHP获取类私有属性的3种方法
今天在推上看到一条获取php类私有属性的推文,感觉很有意思: 顺着推文联想,还有其他方式吗?经过自己的测试及网上答案,总结出三种方法: 1. 反射 反射可以获取类的详细信息,要获取私有属性的值,只需将 ...
- html 读取本地xml文件,JS读取本地的XML文件
要想让JS读取本地的XML代码,得具备这样的条件,一般情况下,需要一个JS文件,一个XML文件,最后这两个文件就放在相同的路径下,这样方便调用. 一.XML文件代码示例 大众计算机学习网 www.dz ...
最新文章
- AOP的研究认识了MVC
- linux服务器调用端口超时,Linux服务器可以ping,但是telnet端口超时,网站wget超时,访问超时的解决办法...
- C语言面试基础知识整理
- tessorflow实战
- asp.net 字符串过滤
- mysql my.ini位置错误_解决mysql导入数据量很大导致失败及查找my.ini 位置(my.ini)在哪...
- Algorithms Part 1-Question 2-QuickSort-快速排序算法
- 使用Decimal.js解决前端计算金钱失真问题
- by mybatis 自定义order_MyBatis动态SQL实现ORDER BY和LIMIT的控制?
- 微信小程序模板平台_小程序模板免费使用_小程序界面模板
- ubuntu 下android设备找到fastboot驱动
- OpenCV+Python学习笔记 : 图像灰度化处理
- built a JNCIS LAB系列:Chapter 7 MPLS
- Error starting userland proxy: listen tcp 0.0.0.0:xxx端口: bind: address already in use解决办法
- hdwiki的php架构,hdwiki框架结构简要说明
- Robot Framework(3)——RIDE工具详解
- vue+element-ui实现表格编辑
- matlab建立rbf网络,大家看一下,这组数据Matlab如何构建RBF神经网络!!!!
- 【许晓笛】49行代码就能发币?而且EOS连例子都给你了
- ip r route -n
热门文章
- 获取时间差(类似微信朋友圈消息的时间显示)
- 软件工程师会了这6种测试工具,还用996工作制度吗?
- Linux网络的IPv6应用(2)(转)
- shell编程——Shell批量管理服务器
- 中兴V899D ROOT教程
- CNN感性认识(一)——BP神经网络
- 计算机名额满了能报其他学校吗,第一志愿没有被录取,但第二志愿的学校招生名额已满。我该怎么办...
- hdu4530小Q系列故事——大笨钟
- linux从接通电源到操作系统启动,Linux详细启动过程
- 【C# 教程系列第 23 篇】什么是Json?