2011-04-26 67 views
5

我有一些java代碼,它需要一個html表格,並將它變成一個Iterator,我使用while循環來解析並添加到數據庫。我的問題是表頭正在導致我遇到問題,而我正在經歷一段時間的外觀(因爲它沒有通過我的數據質量檢查)。有沒有辦法跳過第一行?有沒有辦法跳過迭代器中的第一個條目?

Iterator HoldingsTableRows = HoldingsTableRows.iterator(); 


    while (HoldingsTableRows.hasNext()) { 

} 

我能得到一個變量的內容,如果它符合我可以打破的循環,但我想避免硬編碼任何具體的標題名稱,因爲如果標題名稱更改會打破我的應用程序。

請幫忙!

謝謝!

回答

26

所有您需要做的就是在開始while循環之前調用.next()一次。

Iterator HoldingsTableRows = HoldingsTableRows.iterator(); 

//This if statement prevents an exception from being thrown 
//because of an invalid call to .next() 
if (HoldingsTableRows.hasNext()) 
    HoldingsTableRows.next(); 

while (HoldingsTableRows.hasNext()) 
{ 
    //...somecodehere... 
} 
+0

非常感謝你,它完美的作品。我認爲這表明我一直工作得太晚,需要休息。對不起,如此容易讓你感到煩惱。 – Lostsoul 2011-04-27 01:13:51

3

調用next()一次放棄第一行。

Iterator HoldingsTableRows = HoldingsTable.iterator(); 

    // discard headers 
    HoldingsTableRows.next(); 
    // now iterate through the rest. 
    while (HoldingsTableRows.hasNext()) { 

} 
相關問題