2017-09-30 22 views
1

次の式が与えられた場合、=をどのようにしてより簡潔かつ明示的に使用できますか?条件付き複数の属性値のXPath 1

(//h2/@id[contains(.,"foo") or contains(.,"bar") or contains(.,"baz"))[last()] 

は、ここに私が試したものだが、私の通訳は、それが有効ではないと言っている:私は、部分文字列の一致を防ぐために必要があるため

(//h2/@id[text() = ("foo", "bar", "baz")])[last()] 

私はを使用することはできません。私はXPath 1.0を使用しており、an answer to a related questionはこの質問の原動力です。

のXPath 2.0で

答えて

1

//h2[@id = ("foo", "bar", "baz")][last()] 

foobar、又はbazid属性値を有する文書の最後h2要素を選択するであろう。 XPath 2.0の同等のものを提供するための

//h2[@id="foo" or @id="bar" or @id="baz"][last()] 
+1

と高5:XPath 1.0の中

は、明示的なブールor演算子を使用すると思います。感謝万円!! –

関連する問題