查找xml文件

一 前言

相比xml.dom.minidom,lxml.etree具有高效的查找方法,更方便,直接;

二、知识点:查找感兴趣的元素

举例一:递归遍历其下的所有子树(包括子级,子级的子级,等等

import lxml.etree as LET

tree = LET.parse('country_data.xml')

root = tree.getroot()

for neighbor in root.iter('neighbor'):
...     print(neighbor.attrib)

举例二:

#关键点:

# xpath()  通过使用xpath,可以更精确地指定要查找的元素。

#rank.getparent() 可跳转到父节点查找

#find() 在当前节点查找

"""

for rank in root.xpath('country/rank'):

    print(rank.text)

    text = rank.getparent().find('year').text

    print(text)

"""

三、查找结果

 

四、测试用xml--country_data.xml

<?xml version='1.0' encoding='UTF-8'?>

<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>
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流动的星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值