HtmlAgilityPackでXPathを把握できません

c# html-agility-pack xpath

質問

私は最初のC#アプリケーション(これは単に "Hello World"というよりも多くをすることができます)を作り上げようとしています。

今、htmlファイルにはたくさんのタグが付いています(しかし、下に与えられたh4タグは2つしかありません)が、ここに私が興味を持っている部分があります:

<table width="100%" height="400" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#111111" background="images/page_bg.gif" style="BORDER-COLLAPSE: collapse">

<tbody valign="top">
<tr>
<td>

<table width="80%" border="0" valign=top background="images/page_bg.gif">
 <tr>
 <td>

  <div align="center">
   <h4 align="center">
      <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
      <b>
      <font size="4" face="Arial, Helvetica, sans-serif">
      UNWANTED TEXT
       </font></b></font></h4>

  <p><br />
  Name  :  {NAME HERE} <br>Number : {NUMBERS HERE}<br>Number2 : {NUMBERS2}<br><br><h4>UNWANTED TEXT</h4><br>detail NO.  :  <span class=style7>{NUmbers3}</span><br><br><a href=http://test.xom>UNWANTED TEXT</a><br><br>                    
  </p>
  <p class="content"><em><strong>
  <p>&nbsp;</p>

私はNAME、Numbers1、Numbers2、Numbers3を取得したいと思うので、私はこのようなことをしなければならないと思う=

 //div[@align = "centre"]/h4/followingsibling::Text();

私はそれを行う必要がありますどのようなアイデアは、私はファイヤーバグからXpathを持っています: /html/body/table/tbody/tr[2]/td/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody/tr/td/table/tbody/tr/td/div/h4

私もやってみました(最初に生データを取得してからそれをさらにトリミングするだけです)

 HtmlNodeCollection node = doc.DocumentNode.SelectNodes("//table[@height='400']//div[@align='centre']"//p);
            foreach(HtmlNode node1 in node)    
                textBox1.Text += node1.InnerText;

しかし、ここのNodeはNULLとして渡されます。どんな助けでも大歓迎です。

受け入れられた回答

Firefoxはtbodyタグをテーブルに追加します(元のhtmlではこのタグは存在しません)。だから、私はすべてのパスを記述しないで、最も特徴的なパスを見つけて使用することをお勧めします。たとえば、// div [@ class = 'data'] / table // tr / td


人気のある回答

あなたは@align="centre"持っているが、HTMLはalign="center"を持っていることに気付いたか(英国対アメリカのスペル?)



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ