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
Html 使用xpath根据单元格的内容选择行_Html_Xpath - Fatal编程技术网

Html 使用xpath根据单元格的内容选择行

Html 使用xpath根据单元格的内容选择行,html,xpath,Html,Xpath,我有一个由多行组成的表,每行包含5个单元格,如下所示: <tr> <td></td> <td>123456</td> <td>statusText</td> <td><a>linkText</a></td> <td>editButton</td> </tr> //tr[contains(t

我有一个由多行组成的表,每行包含5个单元格,如下所示:

<tr>
    <td></td>
    <td>123456</td>
    <td>statusText</td>
    <td><a>linkText</a></td>
    <td>editButton</td>
</tr>
//tr[contains(td, '123456')]
//tr[contains(td, '123456')] 

让我进入单元格,但它要么返回每一行,要么什么也不返回,这取决于我如何调整xpath。

我会研究类似于
//tr[string(td[2])='123456']
的内容。如果这不起作用,我将查找XPath轴。

我将研究类似于
//tr[string(td[2])='123456']
的内容。如果这不起作用,我会查找XPath轴

我一直在尝试这样的事情:

<tr>
    <td></td>
    <td>123456</td>
    <td>statusText</td>
    <td><a>linkText</a></td>
    <td>editButton</td>
</tr>
//tr[contains(td, '123456')]
//tr[contains(td, '123456')] 
带我去牢房,但也不是 返回每一行或不返回任何内容, 取决于我如何调整xpath

你得到了你想要的。上面的XPath表达式选择文档中具有(至少一个)
td
子元素(其字符串值包含“123456”)的任何
tr
元素(行)

但你想要的是

//tr/td[text() = '123456']
这将选择文档中的每个
td
元素(单元格),该元素有一个文本节点子元素,其字符串值为“123456”

根据
td
是否可能有多个文本节点,以及文本节点中的空白是否应该规范化,可能会有不同的变化,但如果这些变化中的任何一个适用于此特定情况,则问题不提供任何信息

我一直在尝试这样的事情:

<tr>
    <td></td>
    <td>123456</td>
    <td>statusText</td>
    <td><a>linkText</a></td>
    <td>editButton</td>
</tr>
//tr[contains(td, '123456')]
//tr[contains(td, '123456')] 
带我去牢房,但也不是 返回每一行或不返回任何内容, 取决于我如何调整xpath

你得到了你想要的。上面的XPath表达式选择文档中具有(至少一个)
td
子元素(其字符串值包含“123456”)的任何
tr
元素(行)

但你想要的是

//tr/td[text() = '123456']
这将选择文档中的每个
td
元素(单元格),该元素有一个文本节点子元素,其字符串值为“123456”

根据
td
是否可能有多个文本节点,以及文本节点中的空白是否应该规范化,可能会有不同的变化,但如果其中任何一个适用于此特定情况,则问题不会提供任何信息。

好问题(+1)。请参阅我的答案以获得解释和一个可能的解决方案。好问题(+1)。请参阅我的答案以了解解释和一个可能的解决方案。