Jos*_*das 6 html xpath attributes equality
给定以下表达式,我如何使用=更简洁和明确?
(//h2/@id[contains(.,"foo") or contains(.,"bar") or contains(.,"baz"))[last()]
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的,但我的口译员说它无效:
(//h2/@id[text() = ("foo", "bar", "baz")])[last()]
Run Code Online (Sandbox Code Playgroud)
我不能使用,contains()因为我需要防止子字符串匹配。我正在使用 XPath 1.0,一个相关问题的答案是这个问题的推动力。
kjh*_*hes 15
在 XPath 2.0 中,
(//h2[@id = ("foo", "bar", "baz")])[last()]
Run Code Online (Sandbox Code Playgroud)
将选择的最后一个h2与所述文档中的元素id的属性值foo,bar或baz。
在 XPath 1.0 中,您将使用显式布尔or运算符:
(//h2[@id="foo" or @id="bar" or @id="baz"])[last()]
Run Code Online (Sandbox Code Playgroud)