(Python)——Python XML基本读取操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 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'])

猜你喜欢

转载自blog.csdn.net/wangdongwei0/article/details/82731090
今日推荐