【发布时间】:2017-06-13 21:54:11
【问题描述】:
我正在编写一个 DOM selectors 到 xpath 转换器,碰巧如果我可以像这样连接多个谓词,它会非常适合我:
//div[@id][@class]
而不是这样:
//div[@id and @class]
虽然粗略的测试似乎表明它们的行为相同,但我并不完全确定它们在所有情况下都会。他们会吗?
【问题讨论】:
我正在编写一个 DOM selectors 到 xpath 转换器,碰巧如果我可以像这样连接多个谓词,它会非常适合我:
//div[@id][@class]
而不是这样:
//div[@id and @class]
虽然粗略的测试似乎表明它们的行为相同,但我并不完全确定它们在所有情况下都会。他们会吗?
【问题讨论】:
使用多个谓词与使用 and 运算符 100% 等效前提是两个谓词都不是位置性的。位置谓词是其值为数字的谓词,或者显式使用position() 或last() 的谓词。例如,*[@x][1] 与 *[1][@x] 不同。
【讨论】: