2015-01-18 2 views
0

안녕하세요 여러분, 안드로이드에 새로운 사람이 있습니다. ı 프로젝트와 웹 사이트에서 데이터 뉴스를 가져옵니다. ı 데이터를 가져 오면 내 화면에 표시되는 모든 뉴스 어떻게하면 처음 뉴스와 다른 것을 취할 수 있습니까? ı 목록보기에 넣을 수있는 방법은 무엇입니까? 명령으로Android Jsoup Html Parse?

웹 사이트 : 당신이 doc.select (....)을 수행 할 때

<table width="100%" cellpadding="0" cellspacing="0" border="0" align="center" class="contentpane"> 
 
<tbody><tr> 
 
\t <td valign="top" class="contentdescription" colspan="2"> 
 
\t \t </td> 
 
</tr> 
 
<tr> 
 
\t <td> 
 
\t <script language="javascript" type="text/javascript"> 
 

 
</script> 
 
<form action="http://www.izmir.edu.tr/tr/genel-haberler.html" method="post" name="adminForm"> 
 
<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
 
<tbody><tr class="sectiontableentry1"> **FİRST NEWS** 
 
\t <td align="right"> 
 
\t \t 1 \t </td> 
 
\t \t \t <td> 
 
\t \t <a href="/tr/genel-haberler/4711-Cocuk-Korumada-Kanita-Dayali-Degerlendirme-ve-Analiz-Cercevesi---IZMIR.html"> 
 
\t \t \t Çocuk Korumada Kanıta Dayalı Değerlendirme ve Analiz Çerçevesi - İZMİR</a> 
 
\t \t \t \t </td> 
 
\t \t \t \t \t </tr> 
 
<tr class="sectiontableentry2"> **SECOND NEWS** 
 
\t <td align="right"> 
 
\t \t 2 \t </td> 
 
\t \t \t <td> 
 
       <a href="/tr/genel-haberler/4748-Madde-bagimliligi-yuzde-100-tedavi-edilemeyen-bir-beyin-hastaligidir.html"> 
 
\t \t \t “Madde bağımlılığı, yüzde 100 tedavi edilemeyen bir beyin hastalığıdır”</a> 
 
\t \t \t \t </td> 
 
\t \t \t \t \t </tr>

protected void onCreate(Bundle savedInstanceState) { 
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
    StrictMode.setThreadPolicy(policy); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    tv = (TextView)findViewById(R.id.textView1); 

    Document doc; 
    try { 
      // need url 
      doc = Jsoup.connect(url).get(); 
      Elements links = doc.select("table[class=contentpane]"); 
      Elements row=links.select("tr:gt(0)"); 
      Elements tds = row.select("td"); 
      tv.setText(tds.text()); 
     } catch (IOException ex) { 
       tv.setText("Error"); 
    } 
} 

답변

1

그래서,이 요소의 컬렉션을 반환, 당신이 이미 가지고있는 코드를 사용하여 당신은 이것을 할 수 있습니다 :

Elements links = doc.select("table[class=contentpane]"); 
Elements row=links.select("tr:gt(0)"); 
Elements tds = row.select("td"); 
tv.setText(tds.get(0).text()); 

또 다른 방법은 get 팅은 요소의 첫 번째 요소는 (한 줄에) 반환 : 나는 지금 JSoup lib 디렉토리가 없기 때문에이 코드를 테스트하지 않았습니다

tv.setText(doc.select("table[class=contentpane]").select("tr:gt(0)").select("td").first().text()); 

참고.

+0

그래서 어떻게 목록보기에 넣을 수 있습니까? – Mercur

+0

ListView를 정렬하려면 ArrayAdapter 을 확장하는 클래스를 만든 다음 원하는 정렬 속성을 정의해야합니다. 그런 다음 요소를 어댑터에 추가 한 다음 ListView에 어댑터를 설정하십시오. 목록보기를 처리/채우는 방법에 대한 자습서가 많이 있습니다 (예 : http://www.vogella.com/tutorials/AndroidListView/article.html). – Danilo