1

HTML Agility Pack を使用して HTML から値を抽出する方法について、助けが必要です。(部分的な) HTML は次のとおりです。

<HTML>
<BODY bgcolor="FFFFFF" onLoad="window.document.forms[0].p_wwwparam.focus();">
<BR>
<DIV ALIGN="CENTER">
<CENTER><U><font color="800040"><H2>Password Reset Form</H2></font></U></CENTER>
<BR>
<TABLE >
<TH ALIGN="CENTER" COLSPAN="2"><FONT COLOR="800040">Verification details for 
</FONT>WSCCD03</TH>
<TR>
<TD>EIN: </TD>
<TD>987654321</TD>
</TR>
<TR>
<TD>Full name: </TD>
<TD>Bob Bobbity</TD>
</TR>
</TABLE>
...... Rest of document

「EIN:」を含むものに続く td から値を抽出する必要があるため、この場合は「987654321」を抽出する必要があります。

どんな助けでも大歓迎です。

4

3 に答える 3

2

これはうまくいくはずです

var text = doc.DocumentNode.SelectSingleNode("//td[text()='EIN: ']/../td[2]")
              .InnerText;
于 2012-11-27T21:06:53.167 に答える
0

あなたは次のようなことをすることができます:

HtmlDocument doc = new HtmlWeb().Load("http://www.yoursite.com/yourpage.html");
HtmlNodeCollection trs = doc.DocumentNode.SelectNodes(".//tr");
HtmlNodeCollection tds = trs[0].SelectNodes(".//td");
var text = tds[1].InnerText;
于 2012-11-27T21:06:39.453 に答える
0

2 番目の td 値を取得できるようにする簡単なコードを次に示します。

var htmlDoc = new HtmlDocument();

// Point to your HTML doc content here... :)
htmlDoc.Load(@"C:\Libs\HtmlAgilityPack.1.4.0\htmldocument.html");

var node = htmlDoc.DocumentNode.SelectNodes("//td").Skip(1).Take(1).Single();

System.Console.WriteLine(node.InnerText);
于 2012-11-27T21:08:32.263 に答える