gpt4 book ai didi

c# - 使用 XPath 测试当前节点

转载 作者:行者123 更新时间:2023-12-04 01:51:09 26 4
gpt4 key购买 nike

.NET 的 XPath 函数提供了常用的功能,例如 SelectSingleNodeSelectNodes。它们只能找到由 XPath 查询指定的子节点

但是如果我想测试当前节点是否匹配给定的 XPath 规范怎么办?这是如何运作的?

假设我有一个 HTML 文档,我在其中找到了一个 table 节点。

<table>
<tr>
<td>...</td>
<tr>
<tr class="abc">
<td>...</td>
</tr>
</table>

我可以从那里找到所有 tr 元素。一旦到达 tr 元素(我也可以通过导航到达那里,而不是 XPath),我想知道它是否符合特定条件。这些最好指定为 XPath 字符串。

这就是我要找的:

XmlNode trNode = ...;
bool result = trNode.Matches("tr[@class='abc']");

这是否受 .NET(非常有限)的 XPath 功能支持?或者,如果这有影响,HtmlAgilityPack 包?

最佳答案

[...] what if I want to test the current node whether it matches a given XPath specification?

您可以使用 self:: 轴进行检查。
因此,如果您当前的节点是 tr 并且您想检查当前的 tr 元素是否具有 class 属性且值为 abc,使用下面的 XPath 表达式:

self::tr[@class='abc']

我想这就是您想要的,不是吗?

关于c# - 使用 XPath 测试当前节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53054462/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com