2012-10-11 84 views
1

我正在使用HTMLDocument迭代器來嘗試遍歷HTMLDocument中的所有標記。但是,迭代器似乎跳過嵌套在p標籤中的標籤。例如:HTMLDocument迭代器跳過標記

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

迭代器都將獲得第一個標籤(somesite),但它不會去到一個標籤p標籤(someothersite)內。

下面的代碼:

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

任何人都可以說明爲什麼?

+0

啊 - 事實證明,它是第一個it.next()之前進入循環.. – Kumalh

回答

0

也許isValid()檢查會打破你的循環。嘗試迭代器是否在沒有檢查的情況下擊中第二個錨標籤。

+0

這就是問題 - 它打破了循環,但它不應該是因爲有更多的標籤留在文檔中.. – Kumalh