2012-06-14 58 views
0

我是android中的新手,以及java.i想要在我的android應用程序中顯示特定數據作爲列表視圖,然後將這些數據保存到sqlite數據庫。任何人都可以告訴我如何從網站獲取所需的數據?從android中的網站解析特定數據

實際上我想從一開始就知道。因爲我不懂如何開始.plz幫助我。我需要關於下列問題的幫助 1.如何打開解析數據的項目? 2.將構建的目標是什麼? 3.如何在項目中使用jsoup或其他進程?

我是全新的here.so,plz幫助我。 在此先感謝...

+0

你能更具體嗎,你想複製文本,鏈接,圖像?你有什麼嘗試? – Sam

回答

7

您可以使用JSoup解析。

在這裏你去http://jsoup.org/cookbook/

JSoup是驚人的,非常有效的,你會在上面的鏈接找到很好的例子。

首先,你必須連接到要使用解析網頁:

Document doc = Jsoup.connect("http://example.com/").get(); 

請務必執行上述使用的AsyncTask或處理非UI線程代碼。

然後,您可以使用JSoup selector syntax選擇頁面元素。

例如,假設你要選擇的div標籤與id屬性設置爲test的所有內容,你只需要使用:

Elements divs = doc.select("div#test");

檢索的div,那麼你就可以使用它們迭代:

for (Element div : divs) 
    System.out.println(div.text()); 
} 

以下是示例代碼段。

package org.jsoup.examples; 

import org.jsoup.Jsoup; 
import org.jsoup.helper.Validate; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 

import java.io.IOException; 

/** 
* Example program to list links from a URL. 
*/ 
public class ListLinks { 
    public static void main(String[] args) throws IOException { 
     Validate.isTrue(args.length == 1, "usage: supply url to fetch"); 
     String url = args[0]; 
     print("Fetching %s...", url); 

     Document doc = Jsoup.connect(url).get(); 
     Elements links = doc.select("a[href]"); 
     Elements media = doc.select("[src]"); 
     Elements imports = doc.select("link[href]"); 

     print("\nMedia: (%d)", media.size()); 
     for (Element src : media) { 
      if (src.tagName().equals("img")) 
       print(" * %s: <%s> %sx%s (%s)", 
         src.tagName(), src.attr("abs:src"), src.attr("width"), src.attr("height"), 
         trim(src.attr("alt"), 20)); 
      else 
       print(" * %s: <%s>", src.tagName(), src.attr("abs:src")); 
     } 

     print("\nImports: (%d)", imports.size()); 
     for (Element link : imports) { 
      print(" * %s <%s> (%s)", link.tagName(),link.attr("abs:href"), link.attr("rel")); 
     } 

     print("\nLinks: (%d)", links.size()); 
     for (Element link : links) { 
      print(" * a: <%s> (%s)", link.attr("abs:href"), trim(link.text(), 35)); 
     } 
    } 

    private static void print(String msg, Object... args) { 
     System.out.println(String.format(msg, args)); 
    } 

    private static String trim(String s, int width) { 
     if (s.length() > width) 
      return s.substring(0, width-1) + "."; 
     else 
      return s; 
    } 
} 

最後但不是列表。

如果你曾經做異步操作,然後在非UI線程中執行它。

0

從網上檢索數據有很多種方法。該數據可能是JSON字符串或XML的形式都有解析

XML解析不同的方式,我們可以使用 SAX解析器或DOM解析器

更多地瞭解SAX解析器看看這個鏈接:try this!!!