Elements এবং Nodes এর ধারণা

DOM ট্রাভার্সাল এবং নেভিগেশন - জেসুপ (JSoup) - Java Technologies

315

JSoup লাইব্রেরিতে, Elements এবং Nodes হলো দুটি গুরুত্বপূর্ণ ধারণা যা HTML ডকুমেন্টে থাকা বিভিন্ন উপাদান এবং তাদের সম্পর্ককে বোঝায়। এগুলোর মধ্যে পার্থক্য এবং ব্যবহার সম্পর্কে বিস্তারিত জানানো হলো।


Nodes

HTML ডকুমেন্ট একটি DOM (Document Object Model) গঠন অনুযায়ী তৈরি হয়, যেখানে প্রতিটি উপাদান (tag) একটি Node হিসেবে পরিগণিত হয়। JSoup এর মধ্যে একটি Node হল HTML ডকুমেন্টের একক অংশ যা বিভিন্ন ধরনের হতে পারে, যেমন:

  • Element Node: HTML ট্যাগ (যেমন <div>, <a>, <p>, ইত্যাদি)
  • Text Node: HTML ট্যাগের মধ্যে থাকা পাঠ্য (যেমন <p>Hello World</p> এর "Hello World")
  • Comment Node: HTML কমেন্ট (যেমন <!-- This is a comment -->)
  • Document Node: পুরো HTML ডকুমেন্ট

প্রত্যেকটি Node এর একটি পিতামাতা (parent) এবং একটি বা একাধিক সন্তানের (child) নোড থাকতে পারে। JSoup এ Node একটি সাধারণ অবজেক্ট হিসেবে কাজ করে, যেটি বিভিন্ন HTML উপাদানকে উপস্থাপন করে।

উদাহরণ

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class NodeExample {
    public static void main(String[] args) throws Exception {
        String html = "<html><head><title>Example</title></head><body><p>This is a paragraph.</p></body></html>";
        
        // HTML পার্সিং
        Document doc = Jsoup.parse(html);
        
        // Node হিসেবে Element এক্সট্র্যাক্ট
        Element paragraph = doc.select("p").first();
        
        System.out.println("Text in paragraph: " + paragraph.text());
    }
}

এখানে, <p> ট্যাগ একটি Node হিসেবে Element অবজেক্টে রূপান্তরিত হয়।


Elements

JSoup এ Elements হল Node গুলোর একটি সংগ্রহ বা লিস্ট। এটি একটি কন্টেইনারের মতো কাজ করে যেখানে একাধিক Element রাখা হয়। Elements একটি List এর মতো আচরণ করে, এবং আপনি Elements এর মধ্যে থাকা প্রতিটি Element এর উপর কাজ করতে পারেন।

উদাহরণ

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

public class ElementsExample {
    public static void main(String[] args) throws Exception {
        String html = "<html><head><title>Example</title></head><body><p>Paragraph 1</p><p>Paragraph 2</p></body></html>";
        
        // HTML পার্সিং
        Document doc = Jsoup.parse(html);
        
        // Elements হিসেবে সকল <p> ট্যাগ এক্সট্র্যাক্ট করা
        Elements paragraphs = doc.select("p");
        
        // সকল <p> ট্যাগের পাঠ্য প্রদর্শন
        for (Element paragraph : paragraphs) {
            System.out.println(paragraph.text());
        }
    }
}

এখানে, Elements অবজেক্টটি দুটি <p> ট্যাগ ধারণ করে এবং আমরা তাদের পাঠ্য প্রদর্শন করেছি।


Elements এবং Nodes এর মধ্যে পার্থক্য

Nodes

  • Node একটি একক HTML উপাদান বা তার উপাদান সম্পর্কিত তথ্য।
  • একটি Node HTML ডকুমেন্টের একটি অংশ হতে পারে, যেমন Element, Text, Comment, ইত্যাদি।
  • একটি Node পিতামাতা-সন্তান সম্পর্কের অংশ হতে পারে।

Elements

  • Elements হল একাধিক Element এর একটি সংগ্রহ বা লিস্ট।
  • এটি একটি List অবজেক্টের মতো আচরণ করে যা একাধিক Element ধারণ করে।
  • Elements বিভিন্ন Node এর উপর কাজ করার জন্য একটি কন্টেইনার হিসেবে ব্যবহৃত হয়।

সারাংশ

JSoup এ Nodes এবং Elements এর মধ্যে একটি মৌলিক পার্থক্য রয়েছে। Node হল একক HTML উপাদান, যেমন একটি ট্যাগ, পাঠ্য বা কমেন্ট, যা DOM (Document Object Model) এর অংশ। অপরদিকে, Elements হল একাধিক Element এর সংগ্রহ, যেখানে আমরা একাধিক Node এর উপরে কাজ করতে পারি। JSoup এ এই দুটি ধারণা ব্যবহৃত হয় HTML ডকুমেন্টের বিভিন্ন অংশ নিয়ে কাজ করতে এবং তথ্য এক্সট্র্যাক্ট করতে।

Content added By
Promotion

Are you sure to start over?

Loading...