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:通过子节点的属性值获取节点_Xpath - Fatal编程技术网

XPath:通过子节点的属性值获取节点

XPath:通过子节点的属性值获取节点,xpath,Xpath,各位,你们能帮我解决这个问题吗。假设我有以下HTML代码 <table> <tr> <td class="clickable">text</td> <td>value1</td> </tr> <tr> <td>value2</td> <td>text</td> </tr> <

各位,你们能帮我解决这个问题吗。假设我有以下HTML代码

<table>
  <tr>
      <td class="clickable">text</td>
      <td>value1</td>
  </tr>
  <tr>
      <td>value2</td>
      <td>text</td>
  </tr>
</table>
但这些都不起作用

感谢您的帮助
谢谢

您就快到了:

//tr[contains(td/@class,'clickable') and contains(td, 'text')]

演示使用:

$xmllint input.xml--xpath”//tr[contains(td/@class,'clickable')和contains(td,'text')”
文本
价值1

如果您发现
tr
td
具有值
text
,而
td
(可能是另一个)的属性类等于可点击,请使用@alecxe的答案

如果这是一个带有两个条件的
td
,那么

//tr[td[.='text' and @class='clickable']]
$ xmllint input.xml --xpath "//tr[contains(td/@class,'clickable') and contains(td, 'text')]"
<tr>
  <td class="clickable">text</td>
  <td>value1</td>
</tr>
//tr[td[.='text' and @class='clickable']]