17 Mayıs 2014 Cumartesi

JSoup - Hello World

Öncelikle http://jsoup.org/download adresinden JSoup kütüphanesini projenize ekleyin.

İlk örnekte herhangi bir web sitesine bağlanmadan String bir değişken içerisindeki HTML içeriği etiketlerden ayıran basit bir uygulama yapılacak.

Daha önce JavaMail API ile uğraştıysanız  bir e-posta içeriğini almak istediğinizde içerik HTML olarak geliyordu. Aşağıdaki örnek belki bu gibi durumlarda işinize yarayabilir.

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

public class HelloWorld {

 public static void main(String[] args) {

  String html = "<html><head><title>Java4Fun - JSoup Dersleri</title></head>" +
                "<body><p>JSoup Derslerine Hoşgeldin!</p> <p> İlk Uygulama..! </p></body></html>"
  
  Document document = Jsoup.parse(html);
  System.out.println(document.text() + "\n");

  Elements paragraphs =  document.getElementsByTag("p");
  
           for (Element element : paragraphs) {
   
                System.out.println(element.text());
           }

 }

}

HTML verisini parçalamak için geriye document nesnesi döndüren JSoup.parse() metodunu kullanılarak bir document nesnesi elde edildi.
İlk yazıyı okuduysanız document nesnesi dom hiyerarşisindeki en üst nesne. Elde edilmek istenen içeriğe ait nesneye document nesnesi üzerinden ulaşılıyor.

Document.getElementsByTag(tag) metodu parametre olarak aldığı etiketi html içeriğinde arıyor ve bulduğu tüm elementleri Elements nesnesi olarak döndürüyor.
Bizim html içeriğimizde 2 tane p elementi vardı. Yani şuan paragraphs nesnesi 2 tane p elementi içeriyor.

Element.text() metodu ilgili element ve o elemente ait tüm alt elemanların barındırdığı içeriği String verisi olarak geriye döndürüyor.

System.out.println(document.text()); komutuyla aldığımız içerik bu durumu kanıtlıyor. Sistem öncelikle hiyerarşik olarak title elementine ait içeriği ve daha sonra da sırasıyla p elementlerine ait içeriği veriyor.

Böylece document nesnesinin tüm alt elemanlarının da içeriği elde edilmiş oluyor

#REFERANS
http://jsoup.org/cookbook/input/parse-document-from-string

0 yorum:

Yorum Gönder

Java4Fun Copyright © 2011 | Template created by O Pregador | Powered by Templates de luxo