簡體   English   中英

Android Jsoup HTML解析?

[英]Android Jsoup Html Parse?

嗨,大家好,我是android的新手,我有一個項目,我從網站上獲取數據新聞,但是當我獲取數據時,我的屏幕上看到的所有新聞我該如何只接收第一條新聞,又如何才能將我的訂單放入列表視圖中。

網站:

 <table width="100%" cellpadding="0" cellspacing="0" border="0" align="center" class="contentpane"> <tbody><tr> <td valign="top" class="contentdescription" colspan="2"> </td> </tr> <tr> <td> <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** <td align="right"> 1 </td> <td> <a href="/tr/genel-haberler/4711-Cocuk-Korumada-Kanita-Dayali-Degerlendirme-ve-Analiz-Cercevesi---IZMIR.html"> Çocuk Korumada Kanıta Dayalı Değerlendirme ve Analiz Çerçevesi - İZMİR</a> </td> </tr> <tr class="sectiontableentry2"> **SECOND NEWS** <td align="right"> 2 </td> <td> <a href="/tr/genel-haberler/4748-Madde-bagimliligi-yuzde-100-tedavi-edilemeyen-bir-beyin-hastaligidir.html"> “Madde bağımlılığı, yüzde 100 tedavi edilemeyen bir beyin hastalığıdır”</a> </td> </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");
   }   
}

使用已有的代碼,當您執行doc.select(....)時,它將返回Elements的集合,因此您可以執行以下操作:

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());

另一種方法是,僅返回第一個Element of Elements(在一行中):

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

請注意,由於我現在沒有JSoup lib,因此我尚未測試此代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM