在之前,做爬虫的相关事情的时候,就已经接触到xpath的使用,只不过没有大规模的使用,只是浅尝辄止。
关于xpath,了解背景知识,请看这里。
关于xml,其实和HTML结构相似,类似于DOM,关于DOM和XML的相关知识,请看这里。
在odoo开发中,经常会用到odoo中元素的选择。
xpath,本质是一种对xml的选择,具体来说就是需要确定xml的节点,即XML的节点位置。
xml和HTML结构很相似,都有元素节点,节点都会有标签元素(tag),标签又会有一些属性。
节点之间的关系有:
1. 父子
2. 祖先和后代
3. 兄弟姐妹节点
接下来的部分,将讲述xml的语法。
选取节点
利用路径表达式,获取节点,
主要的表达式有:
nodename 选取nodename的所有子节点
/ 从根节点取
// 从匹配选择的当前节点选文档的节点
. 选取当前节点
.. 选区当前节点的父节点
@ 选取属性
谓语
谓语用来查找某个特定的节点或者包含某个指定的值的节点。
主要的谓语有:
[1]
[last()]
[last()-1]
[position() < 3]
[@attr=value] 选取属性为value的元素
[@attr] 选取含attr的元素
通配符
- 选择任意元素的节点
@* 选择任意属性的节点
node() 匹配任意类型的节点
多路径
多路径中间用 | 分隔符来隔开。