初步了解且如何使用 xpath

xpath使用路径表达式在在  xml  文档中进行导航

/    从根节点选取

//   从匹配选择的当前节点 选择文档中的节点,不考虑他们的位置

.    选取当前节点

..   选取当前节点的父节点

@  选取属性

 

有下例xml作为实验文件

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author> 
  <year>2005</year>
  <price>29.99</price>
</book>
</bookstore>

导入库

from lxml import etree

获取标签、属性、 内容 :

from lxml import etree

text = '''
<?xml version="1.0" encoding="ISO-8859-1"?>            # html文档

<bookstore>

<book>
  <title lang="en">Harry Potter</title>
  <title lang="en2">三国演义</title>
  <author>J K. Rowling</author> 
  <year>2005</year>
  <price>29.99</price>
</book>

</bookstore>
'''                                                      # html文档
root = etree.HTML(text)
print(root.xpath('//book'))  # 获取book标签
print(root.xpath('//book/year'))  # 获取year标签

print(root.xpath('//book/title/@lang'))  # 获取标签的属性
print(root.xpath('//title/@lang'))  # 获取标签的属性 功能同上

print(root.xpath('//book/title/text()'))  # 获取内容
print(root.xpath('//book/title[2]/text()'))  # 获取第二个内容
print(root.xpath('//book/title[@lang="en2"]/text()'))  # 利用属性名获取内容

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值