Java XML হল Java প্রোগ্রামিং ভাষার মাধ্যমে XML (Extensible Markup Language) ডেটা পরিচালনা এবং প্রক্রিয়া করার জন্য ব্যবহৃত একটি শক্তিশালী প্রযুক্তি। Java XML API (Application Programming Interface) আপনাকে XML ডকুমেন্ট তৈরি, বিশ্লেষণ (parsing), এবং সংশোধন করতে সাহায্য করে। এর মাধ্যমে আপনি XML ডেটা বিভিন্ন ফরম্যাটে এক্সেস এবং ম্যানিপুলেট করতে পারেন, যা অনেক ধরনের অ্যাপ্লিকেশনের জন্য উপকারী।
DOM Tree Structure:
DOM (Document Object Model) একটি XML ডকুমেন্টের একটি গঠনমূলক প্রতিনিধিত্ব প্রদান করে। এটি একটি ডকুমেন্টের হায়ারার্কিক্যাল স্ট্রাকচার বা ট্রি স্ট্রাকচার তৈরি করে, যেখানে প্রতিটি এলিমেন্ট, অ্যাট্রিবিউট, এবং টেক্সট কনটেন্ট একটি "নোড" হিসেবে কাজ করে।
DOM Tree Structure তে XML ডকুমেন্টের প্রতিটি অংশকে একটি ট্রী স্ট্রাকচারে মডেল করা হয়, যা ক্লাসের মাধ্যমে আপনি প্রোগ্রামmatically অ্যাক্সেস এবং ম্যানিপুলেট করতে পারেন।
DOM Tree Structure এর উপাদান:
- Document Node: এটি DOM ট্রী-এর মূল নোড যা XML ডকুমেন্টের শীর্ষ স্তর হিসেবে কাজ করে।
- Element Node: XML ডকুমেন্টের বিভিন্ন ট্যাগ (যেমন
<name>,<age>) প্রতিটি এলিমেন্ট নোডের মাধ্যমে প্রতিনিধিত্ব করা হয়। - Text Node: এলিমেন্ট নোডের মধ্যে যে টেক্সট থাকে, সেটি
Textনোড হিসেবে থাকে। যেমন<name>John</name>—এখানে "John" হল টেক্সট নোড। - Attribute Node: XML ট্যাগের অ্যাট্রিবিউট যেমন
<person id="123">—এখানেid="123"একটি অ্যাট্রিবিউট নোড হিসেবে থাকে। - Comment Node: XML ডকুমেন্টে মন্তব্যগুলি
Commentনোড দ্বারা প্রতিনিধিত্ব করা হয়।
DOM API দিয়ে XML ডকুমেন্টের ম্যানিপুলেশন:
DOM API ব্যবহার করে, আপনি XML ডকুমেন্ট তৈরি, পঠন, সংশোধন এবং মুছে ফেলতে পারেন। এর প্রধান সুবিধা হল যে এটি XML ডকুমেন্টকে একটি ট্রী স্ট্রাকচারে কনভার্ট করে, যাতে সহজেই এলিমেন্ট, অ্যাট্রিবিউট, এবং টেক্সট এক্সেস করা যায়।
DOM Node Handling:
DOM নোড হ্যান্ডলিং এর মাধ্যমে XML ডকুমেন্টের বিভিন্ন নোড এক্সেস, পরিবর্তন বা ডিলিট করা হয়। সাধারণভাবে, DOM নোডগুলোকে অ্যাক্সেস এবং ম্যানিপুলেট করার জন্য কিছু সাধারণ মেথড ব্যবহার করা হয়:
getElementsByTagName(): XML ডকুমেন্টের সমস্ত এলিমেন্ট নোড খুঁজে বের করার জন্য ব্যবহৃত হয়।
NodeList nodeList = document.getElementsByTagName("person");getNodeValue(): একটি নির্দিষ্ট নোডের মান পাওয়ার জন্য ব্যবহার করা হয়।
String value = node.getNodeValue();setNodeValue(): একটি নোডের মান পরিবর্তন করার জন্য ব্যবহৃত হয়।
node.setNodeValue("New Value");getChildNodes(): একটি নোডের সমস্ত চাইল্ড নোড পাবেন।
NodeList children = node.getChildNodes();appendChild(): একটি নতুন নোড একটি প্যারেন্ট নোডের অধীনে অ্যাপেন্ড করা হয়।
parentNode.appendChild(newNode);removeChild(): একটি নোডকে তার প্যারেন্ট নোড থেকে রিমুভ করা হয়।
parentNode.removeChild(childNode);
Java XML উদাহরণ (DOM):
import org.w3c.dom.*;
import javax.xml.parsers.*;
public class DOMExample {
public static void main(String[] args) {
try {
// XML ডকুমেন্ট পার্স করা
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("example.xml");
// ডকুমেন্টের রুট এলিমেন্ট অ্যাক্সেস করা
Element root = document.getDocumentElement();
System.out.println("Root element: " + root.getNodeName());
// সমস্ত <person> ট্যাগ খুঁজে বের করা
NodeList nodeList = document.getElementsByTagName("person");
// <person> এলিমেন্টের মধ্যে সব ডেটা প্রিন্ট করা
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
System.out.println("ID: " + element.getAttribute("id"));
System.out.println("Name: " + element.getElementsByTagName("name").item(0).getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Java XML API ব্যবহার করে, আপনি সহজেই XML ডেটা প্রসেস এবং ম্যানিপুলেট করতে পারেন। DOM ট্রী স্ট্রাকচার এবং নোড হ্যান্ডলিং আপনাকে XML ডকুমেন্টের প্রতিটি অংশকে এক্সেস এবং পরিবর্তন করার ক্ষমতা দেয়। এটি বিশেষত বড় XML ডেটা সাইটেম বা কমপ্লেক্স ডকুমেন্ট প্রোসেসিংয়ে খুবই কার্যকর।
Read more