【问题标题】:Select part of InnerText using HtmlAgilityPack使用 HtmlAgilityPack 选择部分 InnerText
【发布时间】:2023-04-02 03:10:01
【问题描述】:
如何使用 HtmlAgilityPack 选择 InnerText 的一部分,例如:
<td class="playerName" width="192">
<a href="/cricket/content/player/21585.html">player1</a>*
</td>
现在我想从href 属性中选择21585。
【问题讨论】:
标签:
c#
html-parsing
html-agility-pack
【解决方案1】:
您可以使用 XPATH 和代码访问 HREF,如下所示
HtmlDocument doc = new HtmlDocument();
doc.Load(myHtmlFilePath);
// get to the A tag using XPATH
HtmlNode a = doc.DocumentNode.SelectSingleNode("//td[@class='playerName']/a");
// get the HREF attribute
string href = a.GetAttributeValue("href", null);
但不超过。您必须手动解析 href,这是一个适用于您的示例的快速技巧:
Uri uri = new Uri(@"dummy:" + href); // use whatever "drive-like" root
Console.WriteLine(Path.GetFileNameWithoutExtension(uri.LocalPath));