Element类型是一种灵活的容器对象,用于在内存中存储结构化数据。

每个element对象都具有以下属性:
  1. tag:string对象,表示数据代表的种类。
  2. attrib:dictionary对象,表示附有的属性。
  3. text:string对象,表示element的内容。
  4. tail:string对象,表示element闭合之后的尾迹。
  5. 若干子元素(child elements)。

<tag attrib1=1>text</tag>tail
  1     2        3         4

创建元素的方法有Element或者SubElement(),
前者称作元素的构建函数(constructor),用以构建任一独存的元素;
后者称作元素的制造函数(factory function),用以制造某一元素的子元素。

有了一串元素之后,使用ElementTree类来将其打包,把一串元素转换为xml文件或者从xml文件中解析出来。

导入ElementTree

import xml.etree.ElementTree as ET

使用ElementTree代表整个XML文件,并将其视为一棵树,Element代表这个文档树中的单个节点。

ET对象可以通过以下方法导入数据:

# 从硬盘的xml文件中读取
import xml.etree.ElementTree as ET
tree = ET.parse('aa.xml')
root = tree.getroot()  # 获取根节点

# 从字符串读取数据
root = ET.fromstring(aa_as_string)

可以对根节点进行操作,获取其子元素

for child in root:
    print child.tag, child.attrib

# 或使用索引寻找子节点
root[0][1]