查找任何具有自定义前缀 HtmlAgilityPack 的内部文本

Find any inntertext have custom prefix HtmlAgilityPack

我有这样的列表名称文件 html :

<tr>
<td>ABC.rar</td>
<td>XYZ.zip</td>
<td>DEF.MP4</td>
</tr>

如何找到文件 ABC.rar 只需添加前缀 ABC

string innerText = document2.DocumentNode.SelectSingleNode("//td[2]//a[.='ABC']").InnerText;

不清楚为什么在您尝试的 XPath 中有 a 而样本 HTML 中没有 <a> 元素。无论如何,以下是找到包含关键字 'ABC'<td> 的两个可能的 XPath:

//td[contains(.,'ABC')]
//td[starts-with(.,'ABC')]

只要使用了明确的函数名称,两者之间的区别应该是不言自明的。如果我正确理解 prefix 的意思,我怀疑 starts-with()contains().

更合适

演示:

var html = @"<tr>
<td>ABC.rar</td>
<td>XYZ.zip</td>
<td>DEF.MP4</td>
</tr>";

var document2 = new HtmlDocument();
document2.LoadHtml(html);
string innerText = document2.DocumentNode
                            .SelectSingleNode("//td[starts-with(.,'ABC')]")
                            .InnerText;
Console.WriteLine(innerText);

dotnetfiddle demo

输出:

ABC.rar