不同节点的 XPath OR 运算符

我如何使用 XPath:

//bookstore/book/title or //bookstore/city/zipcode/title

只有 //title是不行的,因为我也有 //bookstore/magazine/title

P.s. 我看到了很多示例,但主要是属性或单节点结构。

227361 次浏览

zipcodebook节点为父级的所有 title节点:

版本一:

//title[parent::zipcode|parent::book]

第二版:

//bookstore/book/title|//bookstore/city/zipcode/title

版本3: (结果根据源数据排序,而不是按照书的顺序,然后是邮政编码)

//title[../../../*[book] or ../../../../*[city/zipcode]]

-在 true/false 中使用-在 xpath 中使用布尔运算符

| -xpath 中的 Union 运算符,该运算符右侧的 附录查询到左侧查询的结果集。

如果希望只选择带联合运算符的两个节点中的一个,可以使用以下解决方案: (//bookstore/book/title | //bookstore/city/zipcode/title)[1]

这个元素有两个 xpath,然后你可以像下面这样写两个 xpath:

xpath1 | xpath2

例如:

//input[@name="username"] | //input[@id="wm_login-username"]