解析HTML我有一個HTML解析(見下文)使用敏捷包
<div id="mailbox" class="div-w div-m-0">
<h2 class="h-line">InBox</h2>
<div id="mailbox-table">
<table id="maillist">
<tr>
<th>From</th>
<th>Subject</th>
<th>Date</th>
</tr>
<tr onclick="location='readmail.html?mid=welcome'" style="font-weight: bold;">
<td>[email protected]</td>
<td>
<a href="readmail.html?mid=welcome">Hi, Welcome</a>
</td>
<td>
<span title="2016-02-16 13:23:50 UTC">just now</span>
</td>
</tr>
<tr onclick="location='readmail.html?mid=T0wM6P'" style="font-weight: bold;">
<td>[email protected]</td>
<td>
<a href="readmail.html?mid=T0wM6P">sa</a>
</td>
<td>
<span title="2016-02-16 13:24:04">just now</span>
</td>
</tr>
</table>
</div>
</div>
我需要解析<tr onclick=
標籤鏈接和電子郵件地址在<td>
標籤。
到目前爲止,我管理從我的HTML第一次發生電子郵件/鏈接。
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(responseFromServer);
有人能告訴我它是如何正確完成的嗎?基本上我想要做的是從所有標籤中的html中獲取所有的電子郵件地址和鏈接。
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//tr[@onclick]"))
{
HtmlAttribute att = link.Attributes["onclick"];
Console.WriteLine(att.Value);
}
編輯:我需要將分析的值成對存儲在類(列表)中。電子郵件(鏈接)和發件人電子郵件。
public class ClassMailBox
{
public string From { get; set; }
public string LinkToMail { get; set; }
}
我也試過HtmlAgilityPack,但它不支持XPath。 – Fab
您是否嘗試過CssPath功能? – Fab
@Tagyoureit我想你的代碼,並打印出兩個TR項目: 位置= '?readmail.html中旬=歡迎' 位置= '?readmail.html中旬= T0wM6P' 我使用.NET 4.5和HtmlAgilityPack 1.4.9。你能否檢查你在responseFromServer變量中獲得的html是否完整。 謝謝 – avenet