/html/body/form/select/option[@val = '1' and @val = '3']
つまり、複数選択形式で最初と 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 位のすべての結果が必要です。
ほとんど。述語 (角括弧内のすべて) は、特定のノードを結果セットに含めるための条件を指定します。1 つの要素が同時に1とval
3 の値を持つことは不可能です。ただし、 をに置き換えると、式はいずれかの基準を満たすノードと一致します。and
or
/html/body/form/select/option[@val = '1' or @val = '3']
補足: 属性値ではなく位置に基づいてノードを選択する場合はposition()
、述語内で関数を使用できます。