2011-10-26 8 views
0

웹 페이지의 모든 TD 요소를 구문 분석합니다. 비어있는 것으로 보이는 TD 요소가 1 개 있습니다.arraylist에서 빈 값을 제거하십시오.

EUR 1,00 
EUR 2,00 
empty <-- 
EUR 3,00 

어떻게 해결할 수 있으며 arraylist (결과)에서 빈 항목을 제거 할 수 있습니까?

미리 감사드립니다.

내 코드 :

try { 

      Document doc = Jsoup.parse(kpo); 
     // Get all td's 
      Elements waardes = doc.select("TBODY"); 
      Iterator<Element> postIt = waardes.select("td").iterator(); 
     // Iterator over those elements  
      //ListIterator<Element> postIt = waardes.listIterator(); 
      postIt.next(); 
      postIt.next(); 
      postIt.next(); 
      postIt.next(); 

      SearchResults sr1 = new SearchResults(); 
      //SearchResults sr2 = new SearchResults(); 

      while (postIt.hasNext()) { 

       sr1 = new SearchResults(); 
       // Add the game text to the ArrayList  
       sr1.setNaam(postIt.next().text()); 
       sr1.setWaarde(postIt.next().text()); 
       results.add(sr1); 
      } 

      } catch (Exception e) { 
     // TODO Auto-generated catch block 
      e.printStackTrace(); 
      } 

      return results; 

     } 

편집 : 나는이 같은 일을 가지고 : 그냥 waarde가 비어있을 때 이미 SearchResults를 추가하지 않는 것이 확인

while (postIt.hasNext()) { 

    String naam = postIt.next().text(); 
    String waarde = postIt.next().text(); 

    sr1 = new SearchResults(); 

    // Add the text to the ArrayList  
    if (!naam.trim().isEmpty() && !waarde.trim().isEmpty()) { 
     sr1.setNaam(naam); 
     sr1.setWaarde(waarde); 
     results.add(sr1); 
    } 

답변

0

. 이 방법을 사용하면 나중에 다른 것을 청소하여 도비를 할 필요가 없습니다.

따라서, 예를 들어

String waarde = postIt.next().text(); 

if (!waarde.trim().isEmpty()) { 
    sr1.setWaarde(waarde); 
    results.add(sr1); 
} 
+0

안녕 BalusC, 작품 아주 좋은, THX에 의해

sr1.setWaarde(postIt.next().text()); results.add(sr1); 

을 대체 :) – Lars

관련 문제