我有一些像这样的HTML代码:
<table>
<tbody>
<tr>
<td> John
<font color="red">
<b>Unemployed</b>
</font>
<br/>ID 12345<b>
some Text</b>
<br/>
</td>
</tr>
</tbody>
</table>
代码中还有一些tr
,但这只是一个例子
我想选择具有特定ID文本的td
节点,因此在这种情况下将为12345。
我可以使用以下XPath访问ID:
HTML/TABLE/descendant::*[contains(text()[3], '12345')]
但我想避免使用索引[3]。我也试过
HTML/TABLE/descendant::*[contains(., '12345')]
但是选择了tbody
。
知道怎么做吗?
答案 0 :(得分:2)
在XPath中,无论文本孩子有哪个文本都按文本选择节点,请使用public class HomeController : Controller
{
[Activate]
public TimeService TimeService { get; set; }
}
,//
和contains()
:
.
<强>解释强>:
//td[contains(., '12345')]
选择文档中的所有//td
元素。td
条件 //td[
将选择限制为满足条件的]
。 td
是当前节点(.
);在td
内,它是当前节点的字符串值:
contains()
John
Unemployed
ID 12345
some Text
,给定上面的字符串值contains()
,确实包含“12345”,因此评估为true,而不必按要求指定确切的文本节点。答案 1 :(得分:0)
//td[ contains(., '12345' ) ]
怎么样?
适合我。这就是你想要的吗?