Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一种简单而优雅的方法来编写XPath 1.0表达式,以获取至少包含一个搜索值的所有HREF值?_Xpath - Fatal编程技术网

是否有一种简单而优雅的方法来编写XPath 1.0表达式,以获取至少包含一个搜索值的所有HREF值?

是否有一种简单而优雅的方法来编写XPath 1.0表达式,以获取至少包含一个搜索值的所有HREF值?,xpath,Xpath,我只是想知道是否有一种更短的方法来编写XPath查询,以查找包含至少一个搜索值的所有HREF值 我目前的情况如下: //a[contains(@href, 'value1') or contains(@href, 'value2')] 但是它看起来很难看,特别是如果我有更多的值。如果您使用XPath 2,并且希望有精确的匹配,而不是只包含部分搜索值的匹配,您可以使用 //a[@href = ('value1', 'value2')] 对于contains() 如果您使用的是XPath 2

我只是想知道是否有一种更短的方法来编写XPath查询,以查找包含至少一个搜索值的所有HREF值

我目前的情况如下:

//a[contains(@href, 'value1') or contains(@href, 'value2')]

但是它看起来很难看,特别是如果我有更多的值。

如果您使用XPath 2,并且希望有精确的匹配,而不是只包含部分搜索值的匹配,您可以使用

//a[@href = ('value1', 'value2')]  

对于
contains()

如果您使用的是XPath 2,并且希望使用精确匹配,而不是仅包含部分搜索值的匹配,则可以使用

//a[@href = ('value1', 'value2')]  

对于
contains()

如果您使用的是XPath 2,并且希望使用精确匹配,而不是仅包含部分搜索值的匹配,则可以使用

//a[@href = ('value1', 'value2')]  

对于
contains()

如果您使用的是XPath 2,并且希望使用精确匹配,而不是仅包含部分搜索值的匹配,则可以使用

//a[@href = ('value1', 'value2')]  

对于
contains()

首先,在许多情况下,如果只有XPath 1.0可供使用,您必须忍受表达式的“丑陋”或冗长。我敢说,优雅是2.0版引入的

但是可能有一些方法可以改进您的表达式:您希望找到的
href
属性是否有规律性?例如,如果规定所述
href
属性值必须以“value”开头就足够了,那么表达式可以是

//a[starts-with(@href,'value')]
我知道“value1”和“value2”很可能不是您实际的属性值,但可能还有其他东西可以唯一地标识您要查找的
a
元素组。如果您希望我们帮助您,请发布您的HTML输入


就我个人而言,我并不觉得你的表情难看。只有一个
运算符,表达式非常简短且可读。我接受

如果我有更多的价值观


也就是说,目前您只对两个属性值感兴趣,因此您的问题是一个理论问题。

首先,在许多情况下,如果只有XPath 1.0可供使用,您必须忍受表达式的“丑陋”或冗长。我敢说,优雅是2.0版引入的

但是可能有一些方法可以改进您的表达式:您希望找到的
href
属性是否有规律性?例如,如果规定所述
href
属性值必须以“value”开头就足够了,那么表达式可以是

//a[starts-with(@href,'value')]
我知道“value1”和“value2”很可能不是您实际的属性值,但可能还有其他东西可以唯一地标识您要查找的
a
元素组。如果您希望我们帮助您,请发布您的HTML输入


就我个人而言,我并不觉得你的表情难看。只有一个
运算符,表达式非常简短且可读。我接受

如果我有更多的价值观


也就是说,目前您只对两个属性值感兴趣,因此您的问题是一个理论问题。

首先,在许多情况下,如果只有XPath 1.0可供使用,您必须忍受表达式的“丑陋”或冗长。我敢说,优雅是2.0版引入的

但是可能有一些方法可以改进您的表达式:您希望找到的
href
属性是否有规律性?例如,如果规定所述
href
属性值必须以“value”开头就足够了,那么表达式可以是

//a[starts-with(@href,'value')]
我知道“value1”和“value2”很可能不是您实际的属性值,但可能还有其他东西可以唯一地标识您要查找的
a
元素组。如果您希望我们帮助您,请发布您的HTML输入


就我个人而言,我并不觉得你的表情难看。只有一个
运算符,表达式非常简短且可读。我接受

如果我有更多的价值观


也就是说,目前您只对两个属性值感兴趣,因此您的问题是一个理论问题。

首先,在许多情况下,如果只有XPath 1.0可供使用,您必须忍受表达式的“丑陋”或冗长。我敢说,优雅是2.0版引入的

但是可能有一些方法可以改进您的表达式:您希望找到的
href
属性是否有规律性?例如,如果规定所述
href
属性值必须以“value”开头就足够了,那么表达式可以是

//a[starts-with(@href,'value')]
我知道“value1”和“value2”很可能不是您实际的属性值,但可能还有其他东西可以唯一地标识您要查找的
a
元素组。如果您希望我们帮助您,请发布您的HTML输入


就我个人而言,我并不觉得你的表情难看。只有一个
运算符,表达式非常简短且可读。我接受

如果我有更多的价值观

也就是说,目前只有两个