我想将3个查询与union运算符结合起来" |"工作正常, 但我想为每个查询设置优先级,例如,如果第一个查询将带来结果,那么它需要是node [0]
示例:// div [@class =' class1'] | // div [@class =' class2'] | // DIV [@class =' CLASS3']
所以如果字符串有超过1个查询匹配,那么它需要遵循一些优先级,或者更好的是不会在其他查询上带来任何结果,如果之前有一些匹配 请帮忙 谢谢
答案 0 :(得分:0)
如果您只想在结果中使用一个节点,那么通常的方法(假设XPath 2.0或更高版本)是:
(//div[@class='class1'], //div[@class='class2'], //div[@class='class3'])[1]
如果可能有多个@ class ='class1'的节点,并且你想要所有节点,并且你只想要@ class ='class2'的节点,如果没有@ class ='class1',那么它是有点困难。但在我们继续之前,您需要告诉我们您正在使用哪个版本的XPath。
答案 1 :(得分:0)
//div[@class='class1'] | //body[not(div[@class='class1'])]/div[@class='class2'] | //body[not(div[@class='class1'] and not(div[@class='class2']))]/div[@class='class3']
如果class1存在,则第二个和第三个xpath将不会产生任何结果,如果存在第2个,那么第三个xpath将不会产生任何结果..
这个想法,但你必须进一步努力......要有创造力,我的男人。