Java:
XML এর সাথে কাজ করা
কিভাবে:
জাভা DOM (ডকুমেন্ট অবজেক্ট মডেল), SAX (সিম্পল API ফর XML), এবং StAX (স্ট্রিমিং API ফর XML) এর মতো API সরবরাহ করে XML এর সাথে কাজ করার জন্য। নিচে একটি DOM উদাহরণ দেওয়া হল যা একটি XML ফাইল পার্স করে:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class XmlParser {
public static void main(String[] args) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("data.xml");
doc.getDocumentElement().normalize();
NodeList nodeList = doc.getElementsByTagName("employee");
for (int i = 0; i < nodeList.getLength(); i++) {
Element element = (Element) nodeList.item(i);
System.out.println("নাম: " + element.getElementsByTagName("name").item(0).getTextContent());
System.out.println("বয়স: " + element.getElementsByTagName("age").item(0).getTextContent());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
ধরা যাক, data.xml
এরূপ দেখতে:
<employees>
<employee>
<name>Jane Doe</name>
<age>30</age>
</employee>
<employee>
<name>John Doe</name>
<age>40</age>
</employee>
</employees>
আউটপুট হবে:
নাম: Jane Doe
বয়স: 30
নাম: John Doe
বয়স: 40
গভীর ডাইভ
XML নব্বইএর দশকের শেষ থেকে আসছে, বিভিন্ন সিস্টেমে ডেটা আদান-প্রদানের জন্য একটি গঠনমূলক এবং নমনীয় উপায় প্রদান করে। যদিও JSON এর সহজ সিনট্যাক্স এবং জাভাস্ক্রিপ্টের সাথে ঘনিষ্ঠ ইন্টিগ্রেশনের কারণে নতুন ওয়েব API এর জন্য আরও জনপ্রিয় হয়েছে, XML এন্টারপ্রাইজ পরিবেশে, SOAP-ভিত্তিক ওয়েব সার্ভিসে, এবং Microsoft Office এর Office Open XML এর মতো ডকুমেন্ট স্ট্যান্ডার্ডে ব্যাপকভাবে ব্যবহৃত হয়।
জাভাতে XML পার্সিং এর ক্ষেত্রে, DOM API ছোট ডকুমেন্টের জন্য দুর্দান্ত: এটি ট্রি-বেসড এবং মেমোরিতে XML কাঠামোতে পূর্ণ অ্যাক্সেস দেয়। তবে, বড় ফাইলের জন্য, এটি মেমোরি-ইন্টেনসিভ হতে পারে। SAX এবং StAX ইভেন্ট-চালিত এবং স্ট্রিম-ভিত্তিক যথাক্রমে হওয়ায় আরও মেমোরি-বান্ধব, তবে XML কাঠামো নেভিগেট করা অসুবিধাজনক হতে পারে।
XML তৈরি বা সংশোধনের জন্য, জাভা জাভাক্স.xml.transform এবং javax.xml.bind (JAXB) প্যাকেজও প্রদান করে। JAXB জাভা SE এর সংস্করণ 10 পর্যন্ত অংশ ছিল, তারপর থেকে জাভা SE থেকে জাভা EE মডিউল সরানোর কারণে এটি একটি পৃথক লাইব্রেরি হয়ে গেছে। এটি XML এ জাভা অবজেক্টগুলিকে সিরিয়ালাইজ করার জন্য একটি অ্যানোটেশন-চালিত উপায় এবং বিপরীতে।
আরও দেখুন
জাভায় XML নিয়ে কাজের জন্য এই সম্পর্কিত সোর্সগুলো দেখুন: