我正在使用c#與htmlagilitypack。除了當我查找的表不包含行時,一切正常。我試圖只讀取頁面上第一個表格中的數據。問題是如果第一個表不包含行,htmlagilitypack似乎由於某種原因跳到第二個表。HTMLAgilityPack - 檢測空白表?
我想閱讀HTML看起來是這樣的:
foreach (HtmlNode node in root.SelectNodes("//table[@class='stats']/tr[position() > 2]/td"))
如何確保數據我:
<table class='stats'>
<tr>
<td colspan='2'>This is the 1st table</td>
<tr>
<td>Column A</td>
<td>Column B</td>
</tr>
<tr>
<td>Value A</td>
<td>Value B</td>
</tr>
</table>
<table class='stats'>
<tr>
<td colspan='2'>This is the 2nd table</td>
<tr>
<td>Column 1</td>
<td>Column 2</td>
</tr>
<tr>
<td>Value 111</td>
<td>Value 222</td>
</tr>
</table>
然後我用下面的行檢索第一表中的值抓住只是從第一桌?
謝謝。
嗯,我想我的問題似乎是由於這樣的事實,我在看錶沒有與之相關的ID。 – goalie35 2012-02-07 20:12:53
我試着運行一些測試,當我指定「[@ class ='stats']/tr [position()> 2]」時,它會在每個表的第2行之後返回所有「stats」類表的所有行。所以,我最初的例子返回2行(值A |值B ...和值111 |值222)。如果表1中沒有行,則它僅返回值111 |值222。它似乎不關心它來自哪個表。 @克里斯泰勒 – goalie35 2012-02-07 20:19:39
@ goalie35爲什麼我低調?我想你的評論是針對Chirs Taylor的。 – 2013-03-26 14:05:40