XML একটি সেলফ-ডেসক্রাইবিং ল্যাঙ্গুয়েজ যা ডেটার পাশাপাশি সেই ইনফরমেশন চেনার নিয়মও দেয়। HTML-এর মতই XML, SGML (Standard Generalized Markup Language)-এর একটি সাবসেট।
`XDocument` ক্লাস একটি বৈধ XML ডকুমেন্টের জন্য প্রয়োজনীয় সকল ইনফরমেশন ধারণ করে। এতে XML ডিক্লেরেশন, প্রসেসিং ইনস্ট্রাকশন, এবং কমেন্টস অন্তর্ভুক্ত থাকে।
লক্ষ্য করুন যে, আমাদের শুধু `XDocument` অবজেক্ট তৈরি করতে হয় যখন আমাদের `XDocument` ক্লাস দ্বারা প্রদত্ত স্পেসিফিক ফাংশনালিটির প্রয়োজন হয়। অনেক পরিস্থিতিতে, আমরা সরাসরি `XElement` এর সাথে কাজ করতে পারি। সরাসরি `XElement` এর সাথে কাজ করা একটি সহজ প্রোগ্রামিং মডেল।
`XDocument`, `XContainer` থেকে ডেরাইভড। তাই এটি চাইল্ড নোড ধারণ করতে পারে। তবে, `XDocument` অবজেক্টগুলো শুধু একটিমাত্র চাইল্ড `XElement` নোড 가질 수 있습니다। এটি XML স্ট্যান্ডার্ডকে প্রতিফলিত করে যে একটি XML ডকুমেন্টে শুধু একটিমাত্র রুট এলিমেন্ট থাকতে পারে। `XDocument` `System.Xml.Linq` নেমস্পেসে উপলব্ধ।
উদাহরণ
নিচের স্ট্রিংটি বিবেচনা করুন যা XML ফরম্যাটে আছে এবং যা XML হিসেবে পপুলেট করতে হবে।
<Departments>
<Department>Account</Department>
<Department>Sales</Department>
<Department>Pre-Sales</Department>
<Department>Marketing</Department>
</Departments>
using System;
using System.Xml.Linq;
namespace DemoApplication
{
public class Program
{
public static void Main()
{
string xmlString = @"
Account
Sales
Pre-Sales
Marketing
";
XDocument xml = XDocument.Parse(xmlString);
Console.ReadLine();
}
}
}
একইভাবে, যদি আমরা XML ধারণকারী একটি ফাইলকে `XDocument`-এ কনভার্ট করতে চাই, তবে XDocument.Load(path) ব্যবহার করতে পারি।
উদাহরণ
using System;
using System.Xml.Linq;
namespace DemoApplication
{
public class Program
{
public static void Main()
{
string xmlPath = @"D:\DemoXml.txt";
XDocument xml = XDocument.Load(xmlPath);
Console.ReadLine();
}
}
}
আউটপুট
উপরের দুটি কেসেই xmlString `XDocument`-এ নিচের মত করে কনভার্ট হয়।
