- Xpath教程
- 前言
- 二、使用步骤
- 1.下载Xpath库
- 2.导入Xpath库
- 3.Xpath节点
- 4.Xpath语法
- 参考资料
前言
XPath 是一门在 XML 文档中查找信息的语言。
# 一、Xpath是什么?
XPath 使用路径表达式在 XML 文档中进行导航
XPath 包含一个标准函数库
XPath 是 XSLT 中的主要元素
XPath 是一个 W3C 标准
代码如下(示例):
pip install lxml2.导入Xpath库
代码如下(示例):
from lxml import etree
3.Xpath节点
Harry 29 Learning 39.95
节点关系:
父:每个元素以及属性都有一个父
在上边的例子中,bookstore是book的父
子:元素节点可有零个、一个或多个子。
book是bookstore的子
title,price是book的子
同胞:拥有相同的父的节点
title,price是同胞
先辈:某节点的父、父的父,等等。
bookstore是title,price的先辈
后代:某个节点的子,子的子,等等。
title,price是bookstore的后代
| nodename | 选取此节点的所有子节点。 |
|---|---|
| / | 从根节点选取(取子节点)。 |
| // | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置(取子孙节点)。 |
| . | 选取当前节点。 |
| . . | 选取当前节点的父节点。 |
| – | – |
| @ | 选取属性。 |
路径表达式
| bookstore | 选取 bookstore 元素的所有子节点。 |
|---|---|
| /bookstore | 选取根元素 bookstore。 |
| bookstore/book | 选取属于 bookstore 的子元素的所有 book 元素。 |
| //book | 选取所有 book 子元素,而不管它们在文档中的位置。 |
| bookstore//book | 选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。 |
| //@lang | 选取名为 lang 的所有属性。 |
tree = etree.XML(htm)
child_tree = tree.xpath("/bookstore/book/title[@*]/text()")
print(child_tree)
输出
['Harry', 'Learning']
输入
child_tree = tree.xpath("/bookstore/book[1]/title/text()")
print(child_tree)
输出
`['Harry']参考资料
菜鸟教程Xpath用法



