python ElementTree 基本读操作示例
演示用XML文件:test.xml
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<root>
<person age="18">
<name>hzj</name>
<sex>man</sex>
</person>
<person age="19" des="hello">
<name>kiki</name>
<sex>female</sex>
</person>
</root>
<?xml version="1.0" encoding="utf-8"?>
<root>
<person age="18">
<name>hzj</name>
<sex>man</sex>
</person>
<person age="19" des="hello">
<name>kiki</name>
<sex>female</sex>
</person>
</root>
1.加载xml文件
加载XML文件共有2种方法,一是加载指定字符串,二是加载指定文件
2.获取element的方法
a) 通过getiterator
b) 过 getchildren
c) find方法
d) findall方法
示例如下:
view plaincopy to clipboardprint?
#-*- coding:utf-8 -*-
from xml.etree import ElementTree
def print_node(node):
'''''打印结点基本信息'''
print "=============================================="
print "node.attrib:%s" % node.attrib
if node.attrib.has_key("age") > 0 :
print "node.attrib['age']:%s" % node.attrib['age']
print "node.tag:%s" % node.tag
print "node.text:%s" % node.text
def read_xml(text):
'''''读xml文件'''
# 加载XML文件(2种方法,一是加载指定字符串,二是加载指定文件)
# root = ElementTree.parse(r"D:\test.xml")
root = ElementTree.fromstring(text)
# 获取element的方法
# 1 通过getiterator
lst_node = root.getiterator("person")
for node in lst_node:
print_node(node)
# 2通过 getchildren
lst_node_child = lst_node[0].getchildren()[0]
print_node(lst_node_child)
# 3 .find方法
node_find = root.find('person')
print_node(node_find)
#4. findall方法
node_findall = root.findall("person/name")[1]
print_node(node_findall)
if __name__ == '__main__':
# read_xml(open("test.xml").read())
write_xml(open("test.xml").read())
本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/kiki113/archive/2009/04/06/4052584.aspx
分享到:
相关推荐
主要介绍了Python中使用ElementTree解析XML示例,本文同时讲解了XML基本概念介绍、XML几种解析方法和ElementTree解析实例,需要的朋友可以参考下
ElementTree是python的XML处理模块,它提供了一个轻量级的对象模,下面这篇文章就来给大家介绍了关于Python利用ElementTree模块处理XML的方法,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要...
Python ElementTree上的抽象。 使解析和处理XML文件更加容易。 XMLTreeNode 主要功能位于XMLTreeNode上。 它形成有用的Python对象,可用于构建XML文档树。 支持多种搜索和处理操作,这些都是ElementTree实现所...
from xml.etree.ElementTree import ElementTree,Element def read_xml(in_path): """ 读取并解析XML文件 :param in_path: XML路径 :return: """ tree = ElementTree() tree.parse(in_path) return tree
from xml.etree import ElementTree as ET import sys root=ET.Element('color') #用Element类构建标签 root.text=('black') #设置元素内容 tree=ET.ElementTree(root) #创建数对象,参数为根节点对象 tree.write...
import xml.etree.ElementTree as ET def getTree(xmlName): xmlName = xmlName.strip() try: tree = ET.parse(xmlName) except: tree = None print 'Analysis xml file fail,file name: {}'.format(xmlName) ...
from xml.etree.ElementTree import ElementTree from xml.etree.ElementTree import Element from xml.etree.ElementTree import SubElement from xml.etree.ElementTree import dump from xml.etree.ElementTree ...
import xml.etree.ElementTree as ET import xml.dom.minidom as minidom from addrbook.domain import Person class Converter(object): ''''' 实现Python对象与xml之间的相互转换 ''' root = None#根节点
本文实例讲述了python实现的批量分析xml标签中各个类别个数功能。...import xml.etree.ElementTree as ET from multiprocessing import Pool,freeze_support,cpu_count import imghdr import loggi
lxml是Python的一个html/xml解析并建立dom的库,lxml的特点是功能强大,性能也不错,xml包含了ElementTree ,html5lib ,beautfulsoup 等库。 使用lxml前注意事项:先确保html经过了utf-8解码,即code =html.decode...
XML是所有软件开发人员都应该熟悉的技术,如果你还不熟悉就选择这门课程。 第1章 XML概述 ...第2章 XML编辑工具 ...ElementTree模块概述、示例:遍历节点、示例:插入节点、示例:删除节点 第10章 C#语言
from xml.etree import ElementTree from tkinter.filedialog import askdirectory from tkinter.filedialog import askopenfilename 输入数据格式 XML文件示例: <folder>n04070727 <filename>n04070727_7 ...
这篇文章主要介绍了python实现XML解析的方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作...三是xml.etree.ElementTree模块(简称 ET),它提供了轻量级的Python式的API,相对于DOM来说ET 快了很多,而