How can you parse HTML in android?

前端 未结 3 1292
情歌与酒
情歌与酒 2020-12-02 00:54

I am making an application for android, and an element of the functionality of the application is to return results from an online search of a library\'s catalogue. The appl

相关标签:
3条回答
  • 2020-12-02 01:10

    You would use a Html Parser. One that i use and works VERY well is JSoup This is where you will need to begin with parsing html. Also Apache Jericho is another good one.

    You would retrieve the html document by using DOM, and use the JSOUP Select() method to select any tags that you would like to get. Either by tag, id, or class.

    Solution

    Use the: Jsoup.connect(String url) method:
    
     Document doc = Jsoup.connect("http://example.com/").get();
    

    This will allow you to connect to the html page by using the url. And store it as the Document doc, Through DOM. And the read from it using the selector() method.

    Description

    The connect(String url) method creates a new Connection, and get() fetches and parses a HTML file. If an error occurs whilst fetching the URL, it will throw an IOException, which you should handle appropriately.

    The Connection interface is designed for method chaining to build specific requests:

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

    If you read through the documentation on Jsoup you should be able to achieve this.

    EDIT: Here is how you would use the selector method

      //Once the Document is retrieved above, use these selector methods to Extract the   data you want by using the tags, id, or css class 
    
      Elements links = doc.select("a[href]"); // a with href
      Elements pngs = doc.select("img[src$=.png]");
      // img with src ending .png
    
      Element masthead = doc.select("div.masthead").first();
      // div with class=masthead
    
      Elements resultLinks = doc.select("h3.r > a"); // direct a after h3
    

    EDIT: Using JSOUP you could use this to get attributes, text,

    Document doc = Jsoup.connect("http://example.com")
    Element link = doc.select("a").first();
    
    String text = doc.body().text(); // "An example link"
    String linkHref = link.attr("href"); // "http://example.com/"
    String linkText = link.text(); // "example""
    
    String linkOuterH = link.outerHtml(); 
    // "<a href="http://example.com"><b>example</b></a>"
    String linkInnerH = link.html(); // "<b>example</b>"
    
    0 讨论(0)
  • 2020-12-02 01:16

    You can use XmlPullParser for parsing XML.

    For e.g. refer to http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html

    0 讨论(0)
  • 2020-12-02 01:24

    Being that the search results are HTML and HTML is a Markup Language (ML) you can use Android's XmlPullParser to parse the results.

    0 讨论(0)
提交回复
热议问题