0

HTMLページにはそのようなものがあります

<table class="information">
<tbody>
<tr>
<td class="name">Name:</td>
<td><a href="example.com">John</a></td>
</tr>
<tr>
<td>...</td>
<td>...</td>
</tr>
....
</tbody>
</table>

名前を取得するにはどうすればよいですか (他の情報もありますが、私の例では名前だけを書きました)。

注: HTML には複数のテーブルがあります

私はこれを試しました

foreach (HtmlElement item in wb.Document.GetElementsByTagName("table"))
{
    if (item.OuterHtml.Contains("information"))
    {
        ... //Here i don't know how to continue
    }
} 
4

3 に答える 3

2
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);

var table = doc.DocumentNode.SelectSingleNode("//table[@class='information']");
var td = table.SelectSingleNode("//td[@class='name']");

Console.WriteLine(td.InnerText);

また

var text = doc.DocumentNode.Descendants("td")
    .First(td => td.Attributes["class"] != null && td.Attributes["class"].Value == "name")
    .InnerText;
于 2012-09-10T09:40:21.180 に答える
1
HtmlElementCollection tData = wb.Document.GetElementsByTagName("td");

                foreach (HtmlElement td in tData)
                {
                    string name = "";
                    if (td.GetAttribute("classname") == "name")
                    {
                        name = td.InnerText;
                    }
                }
于 2012-09-10T09:47:30.987 に答える
0

HtmlAgilityPackを確認してください。これは無料で、html ソースを操作するための非常に優れたライブラリです。

于 2012-09-10T09:34:18.573 に答える