উদাহরণ সহ JAXB ব্যবহার

Java Technologies - জাভা এক্সএমএল (Java XML) - JAXB (Java Architecture for XML Binding)
196

Java XML বলতে, জাভা প্রোগ্রামিং ভাষায় XML (Extensible Markup Language) ডকুমেন্টগুলি পড়া, লিখা, এবং প্রক্রিয়া করার জন্য ব্যবহৃত টেকনোলজিগুলিকে বোঝানো হয়। XML একটি সাধারণ ফাইল ফরম্যাট যা ডাটা স্টোর এবং ট্রান্সফার করার জন্য ব্যবহৃত হয়, এবং এটি বিভিন্ন প্ল্যাটফর্ম এবং প্রোগ্রামিং ভাষার মধ্যে ডাটা এক্সচেঞ্জ করার জন্য উপযুক্ত। Java এক্সএমএল প্রযুক্তি আপনাকে XML ডকুমেন্টগুলোকে সহজে ম্যানিপুলেট করতে, পার্স করতে এবং জেনারেট করতে সাহায্য করে।

Java XML টেকনোলজিগুলির মধ্যে কিছু গুরুত্বপূর্ণ উপাদান হল:

  1. JAXB (Java Architecture for XML Binding): JAXB হল একটি API যা XML ডকুমেন্টের সাথে কাজ করার জন্য জাভা অবজেক্টগুলিকে ম্যাপ করতে ব্যবহৃত হয়। JAXB ডাটা বাইন্ডিং করতে সাহায্য করে, যেখানে আপনি একটি Java ক্লাসকে XML ফরম্যাটে কনভার্ট করতে পারেন এবং আবার XML থেকে Java অবজেক্টে কনভার্ট করতে পারেন।
  2. DOM (Document Object Model): DOM API XML ডকুমেন্টে গাছের কাঠামো তৈরির মাধ্যমে XML ডেটাকে ম্যানিপুলেট করতে সাহায্য করে।
  3. SAX (Simple API for XML): SAX API ইভেন্ট-ভিত্তিক XML প্রোসেসিং মডেল ব্যবহার করে, যেখানে ডকুমেন্টটি সিকোয়েন্সিয়ালি পার্স করা হয় এবং মেমরির ব্যবহার কম থাকে।

JAXB (Java Architecture for XML Binding):

JAXB আপনাকে Java অবজেক্টকে XML ফরম্যাটে কনভার্ট (marshalling) এবং XML ডকুমেন্ট থেকে Java অবজেক্টে কনভার্ট (unmarshalling) করার সুবিধা দেয়। এটি XML ডেটাকে জাভা ক্লাসের সঙ্গে বাইন্ডিং করে। JAXB ব্যবহার করে XML ডেটা প্রক্রিয়া করার জন্য যে স্টেপগুলি অনুসরণ করতে হয় তা নিম্নরূপ:

  1. Java ক্লাস তৈরি করুন যা XML এলিমেন্টের সাথে মিলে।
  2. JAXB অনোটেশন ব্যবহার করে ক্লাসকে XML ডেটা ম্যানিপুলেশনের জন্য প্রস্তুত করুন।
  3. Marshalling (Java অবজেক্টকে XML-এ কনভার্ট করা) এবং Unmarshalling (XML থেকে Java অবজেক্টে কনভার্ট করা)।

উদাহরণ: JAXB ব্যবহার

এখানে একটি সহজ উদাহরণ দেখানো হচ্ছে যেখানে JAXB ব্যবহার করে একটি Java অবজেক্টকে XML ডকুমেন্টে কনভার্ট করা হয় এবং XML থেকে Java অবজেক্টে কনভার্ট করা হয়।

1. Java ক্লাস তৈরি

প্রথমে, আপনি একটি ক্লাস তৈরি করবেন যেটি XML ডকুমেন্টের সাথে সম্পর্কিত।

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Student {
    private String name;
    private int age;

    // Getter and Setter methods
    @XmlElement
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @XmlElement
    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
  • @XmlRootElement অনোটেশনটি XML রুট এলিমেন্টকে নির্দেশ করে।
  • @XmlElement অনোটেশনটি ফিল্ড বা মেথডের জন্য XML ট্যাগকে নির্দিষ্ট করে।

2. Marshalling (Java অবজেক্ট থেকে XML-এ কনভার্ট করা)

এখন, JAXB ব্যবহার করে আমরা Student ক্লাসের একটি অবজেক্ট XML ডকুমেন্টে কনভার্ট (marshal) করতে পারি।

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import java.io.StringWriter;

public class JAXBExample {
    public static void main(String[] args) {
        try {
            // Create a new student object
            Student student = new Student();
            student.setName("John Doe");
            student.setAge(20);

            // Create JAXB context and marshaller
            JAXBContext context = JAXBContext.newInstance(Student.class);
            Marshaller marshaller = context.createMarshaller();

            // Convert Java object to XML
            StringWriter writer = new StringWriter();
            marshaller.marshal(student, writer);

            // Print the XML output
            System.out.println(writer.toString());
        } catch (JAXBException e) {
            e.printStackTrace();
        }
    }
}

এটি আপনাকে XML আউটপুট দিবে:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<student>
    <name>John Doe</name>
    <age>20</age>
</student>

3. Unmarshalling (XML থেকে Java অবজেক্টে কনভার্ট করা)

এখন, JAXB ব্যবহার করে একটি XML ডকুমেন্টকে Java অবজেক্টে কনভার্ট (unmarshal) করতে পারি।

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import java.io.StringReader;

public class JAXBExample {
    public static void main(String[] args) {
        try {
            // Sample XML string
            String xml = "<student><name>John Doe</name><age>20</age></student>";

            // Create JAXB context and unmarshaller
            JAXBContext context = JAXBContext.newInstance(Student.class);
            Unmarshaller unmarshaller = context.createUnmarshaller();

            // Convert XML to Java object
            StringReader reader = new StringReader(xml);
            Student student = (Student) unmarshaller.unmarshal(reader);

            // Print the student object data
            System.out.println("Name: " + student.getName());
            System.out.println("Age: " + student.getAge());
        } catch (JAXBException e) {
            e.printStackTrace();
        }
    }
}

এটি আপনাকে Java অবজেক্টের ডেটা আউটপুট করবে:

Name: John Doe
Age: 20

JAXB (Java Architecture for XML Binding) একটি শক্তিশালী টুল যা Java অবজেক্ট এবং XML ডেটা ফরম্যাটের মধ্যে কনভার্টিং করার জন্য ব্যবহার করা হয়। JAXB ব্যবহার করে XML ডেটা কনভার্ট, ম্যানিপুলেট এবং প্রসেস করা খুবই সহজ এবং কার্যকর। XML ডেটা স্টোরেজ, এক্সচেঞ্জ এবং সিস্টেম ইন্টিগ্রেশন প্রজেক্টগুলিতে JAXB একটি অপরিহার্য টুল হিসেবে ব্যবহৃত হয়।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...