XPath和XML简介

本文介绍了XPath在XML文档中的作用及使用方法,详细解释了节点间的关系,如父轴、子轴、同胞轴和先辈轴等,并通过实例展示了如何使用lxml库在Python中操作XML数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. XPATH简介

1.1 XPATH的作用:

  • XPATH是一门在XML文档中查找信息的语言。XPATH可以用来在XML文档中对元素和属性进行遍历
  • XML是一种标记语法的文本格式,xpath可以方便的定位xml中的元素和其中的属性值。
  • lxml是Python的一个包,这个包中包含了将html文本转成xml对象,和对对象执行xpath功能

1.2 节点的关系

xml_content = '''
<bookstore>
<book>
    <title lang='eng'>Harry Potter</title>
    <author>K.Rowing</author>
    <year>2005</year>
    <price>29<price>
</book>
</bookstore>
'''
  • 父轴(Parent ):每个属性和元素都有个父轴
    • book元素是 title 、author、year 和 price元素的父轴
  • 子轴 (Children):拥有相同的父轴的节点
    • title 、author、year 和 price元素都是book元素的子轴
  • 同胞轴(Sibling):用有相同父元素的节点
    • title 、author、year 和 price元素都是同胞
  • 先辈轴(Ancsetor):某节点的父轴
    • title 元素的父轴是book 和 bookstore
  • 后代轴(Descendant):某节点的子轴,子轴的子轴等等
    • book 的后代是 title 、author、year 和 price
      在这里插入图片描述

2. 基本使用

2.1 工具的安装
在这里插入图片描述
在这里插入图片描述
查找某个特定的节点或者包含某个指定的值的节点
在这里插入图片描述
在这里插入图片描述
2.2 模块的使用

  • 在Python中我们通过安装lxml库来使用xpath技术
  • lxml是一个HMLT/XML的解析器,主要功能是如何提取解析和提取HTML/XML数据,利用etree.html将字符串转化为Element对象
  • xml python 官方文档:http://lxml.de/index.html
  • etree的作用:
  • 将HTML字符串转化为Element对象
  • Element可以对象 可以转化为字符串或者二进制类型

2.3 节点测试
XPath支持的节点测试语法,能够对轴索筛选出的结果集做进一步过滤。具体常用的语法包括:

  • nodename

    • 从指定轴匹配的所有节点中选出名称为nodename的节点
  • node()

    • 选择与之匹配的所有类型的节点
  • text()

    • 选择制定轴匹配的所有文本类型的节点
  • comment()

    • 选择指定轴匹配的所有注释节点
  • processiong-instruction()

    • 选择指定轴匹配的所有处理指令节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值