.NET 的 XPath 函数提供了常用功能,例如SelectSingleNode和SelectNodes。他们只能找到子节点只能查找XPath 查询指定的
但是如果我想测试当前节点是否匹配给定的 XPath 规范怎么办?这是如何运作的?
假设我有一个 HTML 文档,我在其中找到了一个table节点。
<table>
<tr>
<td>...</td>
<tr>
<tr class="abc">
<td>...</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我可以tr从那里找到所有元素。一旦我达到了tr元素(我也可以通过导航到达那里,而不是 XPath),我想知道它是否符合某些条件。最好将它们指定为 XPath 字符串。
这就是我正在寻找的:
XmlNode trNode = ...;
bool result = trNode.Matches("tr[@class='abc']");
Run Code Online (Sandbox Code Playgroud)
.NET 的(非常有限的)XPath 功能是否支持此功能?或者,如果这有区别的话,HtmlAgilityPack包?
[...] 如果我想测试当前节点是否匹配给定的 XPath 规范该怎么办?
您可以使用轴进行检查self::。
因此,如果您的当前节点是,tr并且您想要检查当前tr元素是否具有class值为 的属性abc,请使用以下 XPath 表达式:
self::tr[@class='abc']
Run Code Online (Sandbox Code Playgroud)
我想这就是你想要的,不是吗?
| 归档时间: |
|
| 查看次数: |
1354 次 |
| 最近记录: |