我有一些java代码,它接受一个html表并将其转换为Iterator,我使用while循环来解析并添加到数据库。我的问题是表的标题导致我遇到问题,而我正在看我(因为它没有通过我的数据质量检查)。有没有办法跳过第一行?
Iterator HoldingsTableRows = HoldingsTableRows.iterator();
while (HoldingsTableRows.hasNext()) {
}
我可以获取变量的内容,如果匹配,我可以突破循环,但我正在尝试避免硬编码任何特定于标题名称的内容,因为如果标题的名称发生更改,则会破坏我的应用程序
请帮忙!
谢谢!
答案 0 :(得分:31)
您需要做的就是在开始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...
}
答案 1 :(得分:3)
调用next()一次以丢弃第一行。
Iterator HoldingsTableRows = HoldingsTable.iterator();
// discard headers
HoldingsTableRows.next();
// now iterate through the rest.
while (HoldingsTableRows.hasNext()) {
}