XML Files এর সাথে কাজ করা

Data Handling এবং File I/O (ডেটা হ্যান্ডলিং এবং ফাইল I/O) - ভিজুয়াল বেসিক ডট নেট (VB.Net) - Computer Programming

353

VB.Net-এ XML Files এর সাথে কাজ করা

XML (Extensible Markup Language) হল একটি টেক্সট-ভিত্তিক ফাইল ফরম্যাট যা ডেটাকে স্টোর, শেয়ার এবং পরিবহন করার জন্য ব্যবহৃত হয়। XML ফাইলের মাধ্যমে ডেটাকে সহজে হিউম্যান এবং মেশিনের জন্য পড়া এবং সম্পাদনা করা সম্ভব হয়। VB.Net-এ XML ফাইলের সাথে কাজ করা বেশ সহজ, কারণ .NET Framework-এ XML সম্পর্কিত অনেক বিল্ট-ইন ফিচার এবং ক্লাস রয়েছে।

VB.Net-এ XML ফাইলের সাথে কাজ করার জন্য প্রধানত দুটি ক্লাস ব্যবহৃত হয়:

  1. XmlDocument - একটি XML ডকুমেন্ট লোড, ম্যানিপুলেট এবং তৈরি করার জন্য ব্যবহৃত।
  2. XDocument (LINQ to XML) - LINQ এর মাধ্যমে XML ফাইলের সাথে কাজ করার জন্য ব্যবহৃত।

এখানে আমরা XML ফাইলের সাথে কাজ করার জন্য দুটি প্রধান পদ্ধতির উদাহরণ দেখব: XmlDocument এবং XDocument


১. XmlDocument ব্যবহার করে XML ফাইলের সাথে কাজ করা

XmlDocument ক্লাস XML ডকুমেন্ট লোড, ম্যানিপুলেট, এবং XML স্ট্রাকচার অনুযায়ী ডেটা পরিবর্তন করতে সহায়তা করে।

উদাহরণ: XML ফাইল পড়া, ম্যানিপুলেশন করা এবং লিখা

  1. XML ফাইল তৈরি করা:

ধরা যাক, আমাদের একটি XML ফাইল রয়েছে যা কিছু তথ্য ধারণ করছে:

<?xml version="1.0" encoding="utf-8"?>
<Library>
    <Book>
        <Title>Learning VB.Net</Title>
        <Author>John Doe</Author>
        <Year>2020</Year>
    </Book>
    <Book>
        <Title>Advanced XML</Title>
        <Author>Jane Smith</Author>
        <Year>2021</Year>
    </Book>
</Library>
  1. VB.Net-এ XmlDocument ব্যবহার করে XML ফাইল পড়া এবং ম্যানিপুলেশন:
Imports System.Xml

Public Class MainForm
    ' XML ফাইল লোড এবং ম্যানিপুলেশন করার উদাহরণ
    Sub ReadXML()
        ' XmlDocument instance তৈরি
        Dim xmlDoc As New XmlDocument()

        ' XML ফাইল লোড করা
        xmlDoc.Load("Library.xml")

        ' সমস্ত <Book> এলিমেন্টের উপর লুপ চালানো
        For Each book As XmlNode In xmlDoc.GetElementsByTagName("Book")
            ' <Title> এবং <Author> এলিমেন্টের মান বের করা
            Dim title As String = book("Title").InnerText
            Dim author As String = book("Author").InnerText
            Console.WriteLine("Title: " & title & ", Author: " & author)
        Next
    End Sub

    ' XML ফাইলের মধ্যে নতুন বই যোগ করা
    Sub AddNewBook()
        Dim xmlDoc As New XmlDocument()
        xmlDoc.Load("Library.xml")

        ' নতুন <Book> এলিমেন্ট তৈরি করা
        Dim newBook As XmlElement = xmlDoc.CreateElement("Book")

        ' নতুন <Title>, <Author>, এবং <Year> এলিমেন্ট যোগ করা
        Dim newTitle As XmlElement = xmlDoc.CreateElement("Title")
        newTitle.InnerText = "Mastering XML"
        newBook.AppendChild(newTitle)

        Dim newAuthor As XmlElement = xmlDoc.CreateElement("Author")
        newAuthor.InnerText = "Michael Brown"
        newBook.AppendChild(newAuthor)

        Dim newYear As XmlElement = xmlDoc.CreateElement("Year")
        newYear.InnerText = "2023"
        newBook.AppendChild(newYear)

        ' নতুন <Book> এলিমেন্টকে <Library> নোডে যোগ করা
        xmlDoc.DocumentElement.AppendChild(newBook)

        ' XML ফাইল সেভ করা
        xmlDoc.Save("Library.xml")
    End Sub
End Class

এখানে:

  • XmlDocument.Load মেথড ব্যবহার করে XML ফাইল লোড করা হয়েছে।
  • GetElementsByTagName("Book") মেথড ব্যবহার করে সমস্ত <Book> এলিমেন্ট নির্বাচন করা হয়েছে এবং তাদের মধ্যে থাকা <Title> এবং <Author> এলিমেন্টের মান বের করা হয়েছে।
  • নতুন একটি বই <Book> এলিমেন্ট হিসেবে XML ফাইলে যোগ করা হয়েছে এবং পরে XML ফাইলটি সেভ করা হয়েছে।

২. XDocument ব্যবহার করে XML ফাইলের সাথে কাজ করা (LINQ to XML)

XDocument হল LINQ (Language Integrated Query)-এর মাধ্যমে XML ফাইলের সাথে কাজ করার জন্য ব্যবহৃত একটি আধুনিক ক্লাস। এটি XML ডেটার সাথে কাজ করার জন্য অনেক সহজ এবং বেশি কার্যকর।

উদাহরণ: XDocument ব্যবহার করে XML ফাইল পড়া এবং লিখা

  1. XML ফাইল পড়া:
Imports System.Xml.Linq

Sub ReadXMLUsingXDocument()
    ' XDocument instance তৈরি
    Dim xDoc As XDocument = XDocument.Load("Library.xml")

    ' <Book> এলিমেন্টের মধ্যে থেকে Title এবং Author পড়া
    For Each book In xDoc.Descendants("Book")
        Dim title As String = book.Element("Title").Value
        Dim author As String = book.Element("Author").Value
        Console.WriteLine("Title: " & title & ", Author: " & author)
    Next
End Sub

এখানে:

  • XDocument.Load মেথড ব্যবহার করে XML ফাইল লোড করা হয়েছে।
  • Descendants("Book") মেথড ব্যবহার করে <Book> এলিমেন্টের সকল আইটেম পাওয়া গেছে এবং তাদের <Title> এবং <Author> এলিমেন্টের মান বের করা হয়েছে।

2. XML ফাইলে নতুন বই যোগ করা:

Sub AddBookUsingXDocument()
    ' XDocument instance তৈরি
    Dim xDoc As XDocument = XDocument.Load("Library.xml")

    ' নতুন বইয়ের ডেটা তৈরি করা
    Dim newBook As New XElement("Book",
                               New XElement("Title", "Mastering XML"),
                               New XElement("Author", "John Smith"),
                               New XElement("Year", "2022"))

    ' নতুন বইকে <Library> এলিমেন্টের মধ্যে যোগ করা
    xDoc.Root.Add(newBook)

    ' XML ফাইল সেভ করা
    xDoc.Save("Library.xml")
End Sub

এখানে:

  • XElement ব্যবহার করে নতুন বইয়ের তথ্য তৈরি করা হয়েছে।
  • xDoc.Root.Add(newBook) ব্যবহার করে নতুন বইকে <Library> রুট এলিমেন্টের মধ্যে যোগ করা হয়েছে।

সারাংশ:

  1. XmlDocument: একটি পুরানো, কিন্তু শক্তিশালী XML হ্যান্ডলিং ক্লাস। এটি XML ডকুমেন্ট লোড, ম্যানিপুলেট এবং সেভ করার জন্য ব্যবহৃত হয়।
  2. XDocument (LINQ to XML): এটি XML ডেটার সাথে LINQ ব্যবহার করে কাজ করার একটি আধুনিক এবং সহজ উপায়। এটি XML ডেটার সাথে সহজে কাজ করতে সাহায্য করে এবং কোড কমপ্যাক্ট রাখে।

XmlDocument এবং XDocument উভয়েরই বিশেষ সুবিধা রয়েছে, তবে LINQ to XML (XDocument) বেশ সুবিধাজনক এবং কোড কমপ্যাক্ট রাখে। XML ফাইলের সাথে কাজ করার জন্য এই দুটি পদ্ধতির মধ্যে আপনি আপনার প্রয়োজন অনুযায়ী যেকোনোটি ব্যবহার করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...