/html/body/form/select/option[@val = '1' and @val = '3']
所以这意味着以多选形式选择第一个和第三个选项?
你的意思是or
?
/html/body/form/select/option[@val = '1' or @val = '3']
那应该选择这两个元素。通过使用and
,您试图选择一个val
既是1
又是 的元素3
,这是行不通的。:-)
需要明确的是,选择意味着它会在结果中返回这些节点,对吗?实际上没有在 DOM 中选择它?
无论哪种方式,您想要的是以下内容:
/html/body/form/select/option[1|3]
或者
/html/body/form/select/option[position()=1|postion()=3]
请注意|
“或”的含义,您不想使用“和”,因为这意味着您想要位置 1 和 3 的所有结果,这是不可能的。您想要位置 1 或 3的所有结果。
几乎。谓词(方括号内的所有内容)指定在结果集中包含特定节点的条件,并且任何一个元素都不可能同时具有val
值 1和3。但是,如果将 替换为and
,or
则表达式将匹配满足任一条件的任何节点:
/html/body/form/select/option[@val = '1' or @val = '3']
附注:如果要根据节点的位置而不是属性值来选择节点,可以使用position()
谓词中的函数。