gpt4 book ai didi

xpath - 在 XPath 中是否可以将 OR 运算符与节点名称一起使用?

转载 作者:行者123 更新时间:2023-12-03 15:24:01 26 4
gpt4 key购买 nike

使用 XPath,我知道您可以通过以下方式使用联合运算符:

//*[@id="Catalog"]/thead | //*[@id="Catalog"]/tbody

不过这对我来说似乎有点尴尬。有没有办法做类似于其中之一的事情?
//*[@id="Catalog"]/(thead|tbody)
//*[@id="Catalog"]/(thead or tbody)
//*[@id="Catalog"]/*[nodename="thead" or nodename="tbody"]

这对我来说似乎更具可读性和直观性......

最佳答案

而表达式:

//*[@id="Catalog"]/*[name()="thead" or name()="tbody"]


是正确的

这个表达式更高效 :
//*[@id="Catalog"]/*[self::thead or self::tbody]

还有第三种方法可以检查元素的名称是否是指定的字符串序列之一 :
//*[@id="Catalog"]/*[contains('|thead|tbody|',concat('|',name(),'|'))]

如果可能的名称数量非常长 ,则使用最后一种技术特别实用。 (无限和未知长度)。管道分隔的可能名称字符串甚至可以作为外部参数传递给转换,这大大增加了它的通用性、可重用性和“干”性。

关于xpath - 在 XPath 中是否可以将 OR 运算符与节点名称一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13013696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com