使用HtmlAgilityPack选择InnerText的一部分

时间:2011-05-12 00:28:09

标签: c# html-parsing html-agility-pack

如何使用HtmlAgilityPack选择InnerText的一部分,例如:

<td class="playerName" width="192">
  <a href="/cricket/content/player/21585.html">player1</a>* 
</td>

现在,我想从21585属性中选择href

1 个答案:

答案 0 :(得分:3)

你可以通过XPATH&amp; amp;到达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));