Python:xml.etree读取xml

xml文件,例:

读取:

from xml.etree import ElementTree as ElementTree

def read_xml():
    tree = ElementTree.parse('movies.xml') #载入xml数据,使用ElementTree代表整个XML文档,Element代表这个文档树中的单个节点。
    # print(tree)
    root = tree.getroot() #获取根节点
    # print(root)
    movies = tree.findall('movie') #查找当前元素下匹配Element对象的直系节点
    # print(movies)
    all_movie = []
    for movie in movies:
        title = movie.get("title") #get,获取Element对象指定key对应的属性值,如果没有该属性,则返回default值
        print(title)
        # print(movie.getchildren())
        # print(list(movie))
        movie_info = {}
        for child in movie:  #Element对象,本身具有子元素,可以直接对Element进行迭代取值
            # print(child)
            # print(child.tag) #获取tag
            # print(child.text) #获取节点text
            movie_info[child.tag] = child.text
        print(movie_info)
        all_movie.append(movie_info)
    print(all_movie)
read_xml()

def read_xml2():
    tree = ElementTree.parse('movies.xml')
    root = tree.getroot() #获取根节点
    all_movie = []
    for movie in root:
        movie_info = {}
        for child in movie:
            movie_info[child.tag] = child.text
        all_movie.append(movie_info)
    print(all_movie)

read_xml2()

结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值