1
        list2= doc.select("div.idContent > p").get(k);

我有很多以 idcontent 作为 HTML 中的 id 的 div。我想知道“k”的值。我一直保持 K=0;k<10;k++

比我看到的异常:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 9, Size: 9
    at java.util.ArrayList.rangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)

使用 Jsoup 如何找到 k 的值?并摆脱这个例外?

4

1 回答 1

2

doc.select返回一个Elements对象,该对象实现Collection<Element>. 这意味着您可以调用size()来确定k.

Elements elements = doc.select("div.idContent > p");
for (int k = 0; k < elements.size(); k++) {
    Element list2 = elements.get(k);
    // process list2
}

但是,由于Collection<Element>extends Iterable<Element>,您可以改用增强的 for 循环,这样更易​​于阅读:

for (Element list2: doc.select("div.idContent > p") {
   // process list2
}
于 2012-10-03T07:41:08.823 回答