1

HTMLDocument Iterator を使用して、HTMLDocument 内のすべての a タグを反復しようとしています。ただし、反復子は、p タグ内にネストされたタグをスキップしているようです。例えば:

<html>
  <body>
    <a href = "somesite"> some site </a>
        <p>
            <a href = "someothersite"> some other site </a>
        </p>
  </body>
</html>

イテレータは最初の a タグ (somesite) を取得しますが、p タグ内の a タグ (someothersite) には移動しません。

コードは次のとおりです。

private void getLinks() throws MalformedURLException {
    HTMLDocument.Iterator it = content.getIterator(HTML.Tag.A);           
    it.next();
        while(it.isValid()) {
            // Do something
            it.next();
        }
}

誰でも理由を提案できますか?

4

1 に答える 1

0

おそらく、isValid()チェックによってループが中断されます。イテレータがそのチェックなしで 2 番目のアンカー タグにヒットするかどうかを試してください。

于 2012-10-11T07:52:13.630 に答える