版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangdongwei0/article/details/82731090
XML格式
XML文件包含以下几种元素类型
1、标签<tag>
2、属性<tag name=“attribute”>
3、数据<data>1</data>
<?xml version="1.0"?>
<data>
<country name="Liechtenstein">
<rank>1</rank>
<year>2008</year>
<gdppc>141100</gdppc>
<neighbor name="Austria" direction="E"/>
<neighbor name="Switzerland" direction="W"/>
</country>
<country name="Singapore">
<rank>4</rank>
<year>2011</year>
<gdppc>59900</gdppc>
<neighbor name="Malaysia" direction="N"/>
</country>
<country name="Panama">
<rank>68</rank>
<year>2011</year>
<gdppc>13600</gdppc>
<neighbor name="Costa Rica" direction="W"/>
<neighbor name="Colombia" direction="E"/>
</country>
</data>
XML操作
读取
#从变量读取,参数为XML段,返回的是一个根Element对象
root = ET.fromstring(country_data_as_string)
#从xml文件中读取,用getroot获取根节点,根节点也是Element对象
tree = ET.parse('file.xml')
root = tree.getroot()
访问
访问element对象的标签、属性和值
tag = element.tag
attrib = element.attrib
value = element.text
访问子节点
#打印根节点的标签和属性,获取
for child in root:
print(child.tag, child.attrib)
查找操作
Element元素迭代子元素:Element.iter(“tag”),可以罗列该节点所包含的所有其他节点(element对象)
#打印根节点中所有的neighbor对象的name属性
for neighbor in root.iter('neighbor'):
print(neighbor.attrib['name'])