odoo中的XML与xpath

在之前,做爬虫的相关事情的时候,就已经接触到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() 匹配任意类型的节点

多路径

多路径中间用 | 分隔符来隔开。

参考文献

w3scholl