XML ডেটা আপডেট এবং মডিফাই করা

Microsoft Technologies - লিংক (LinQ) LINQ to XML (LINQ for XML Data) |
171
171

XML (eXtensible Markup Language) ডেটার একটি জনপ্রিয় বিন্যাস যা ডেটা স্টোরেজ এবং ট্রান্সমিশনের জন্য ব্যবহৃত হয়। যখন XML ডেটাকে আপডেট বা মডিফাই করতে হয়, তখন C# এ বেশ কিছু সরঞ্জাম এবং লাইব্রেরি রয়েছে, যেমন LINQ to XML এবং XmlDocument। এই টিউটোরিয়ালে, আমরা দেখব কিভাবে LINQ to XML এবং XmlDocument ব্যবহার করে XML ডেটা আপডেট এবং মডিফাই করা যায়।


LINQ to XML দিয়ে XML আপডেট এবং মডিফাই করা

LINQ to XML হল C# এ একটি শক্তিশালী টুল যা XML ডেটাকে কুয়েরি ও ম্যানিপুলেট করতে সহায়তা করে। LINQ to XML ব্যবহার করে XML ডেটা সহজে পড়া, লেখা এবং আপডেট করা সম্ভব।

LINQ to XML দিয়ে XML ডেটা আপডেটের উদাহরণ

ধরা যাক আমাদের একটি XML ফাইল রয়েছে যেটি বিভিন্ন পণ্যের তথ্য ধারণ করে, এবং আমরা একটি পণ্যের মূল্য আপডেট করতে চাই।

<Products>
    <Product>
        <ID>1</ID>
        <Name>Laptop</Name>
        <Price>50000</Price>
    </Product>
    <Product>
        <ID>2</ID>
        <Name>Smartphone</Name>
        <Price>25000</Price>
    </Product>
    <Product>
        <ID>3</ID>
        <Name>Tablet</Name>
        <Price>30000</Price>
    </Product>
</Products>

আমরা চাই, ID=2 পণ্যের Price পরিবর্তন করে 22000 করতে।

LINQ to XML দিয়ে Price আপডেট করা:

using System;
using System.Linq;
using System.Xml.Linq;

class Program
{
    static void Main()
    {
        // XML লোড করা
        XDocument doc = XDocument.Load("products.xml");

        // ID=2 এর পণ্যের Price আপডেট করা
        var product = doc.Descendants("Product")
                         .Where(p => (int)p.Element("ID") == 2)
                         .FirstOrDefault();

        if (product != null)
        {
            product.Element("Price").Value = "22000";  // Price পরিবর্তন করা
        }

        // XML ফাইলটি সেভ করা
        doc.Save("products_updated.xml");

        Console.WriteLine("XML আপডেট হয়েছে।");
    }
}

ব্যাখ্যা:

  • XDocument.Load() দিয়ে XML ডেটা লোড করা হয়েছে।
  • Descendants("Product") দিয়ে সকল পণ্যের মধ্যে থেকে ID=2 এর পণ্য নির্বাচন করা হয়েছে।
  • .FirstOrDefault() দিয়ে প্রথম মেলানো পণ্যটি নেওয়া হয়েছে।
  • .Element("Price").Value দিয়ে Price এর মান পরিবর্তন করা হয়েছে।
  • অবশেষে doc.Save() দিয়ে XML ফাইল সেভ করা হয়েছে।

আউটপুট XML:

<Products>
    <Product>
        <ID>1</ID>
        <Name>Laptop</Name>
        <Price>50000</Price>
    </Product>
    <Product>
        <ID>2</ID>
        <Name>Smartphone</Name>
        <Price>22000</Price>
    </Product>
    <Product>
        <ID>3</ID>
        <Name>Tablet</Name>
        <Price>30000</Price>
    </Product>
</Products>

XmlDocument দিয়ে XML আপডেট এবং মডিফাই করা

XmlDocument হল .NET-এর পুরনো XML ম্যানিপুলেশন API যা XML ডেটা পড়তে, লেখতে এবং মডিফাই করতে ব্যবহৃত হয়। এটি ডোম (DOM) পদ্ধতির উপর ভিত্তি করে কাজ করে, যেখানে XML ডেটার প্রতিটি উপাদান একটি অবজেক্ট হিসেবে লোড হয়।

XmlDocument দিয়ে XML ডেটা আপডেটের উদাহরণ

আমরা পূর্বের XML ডেটাতে ID=3 এর Price আপডেট করতে চাই।

using System;
using System.Xml;

class Program
{
    static void Main()
    {
        // XmlDocument লোড করা
        XmlDocument doc = new XmlDocument();
        doc.Load("products.xml");

        // ID=3 এর পণ্য নির্বাচন করা
        XmlNode product = doc.SelectSingleNode("//Product[ID=3]");

        if (product != null)
        {
            // Price এর মান পরিবর্তন করা
            XmlNode priceNode = product.SelectSingleNode("Price");
            if (priceNode != null)
            {
                priceNode.InnerText = "28000";  // Price পরিবর্তন করা
            }
        }

        // XML ফাইল সেভ করা
        doc.Save("products_updated.xml");

        Console.WriteLine("XML আপডেট হয়েছে।");
    }
}

ব্যাখ্যা:

  • doc.Load() দিয়ে XML ডেটা লোড করা হয়েছে।
  • SelectSingleNode() দিয়ে XML ডেটাতে XPath এর মাধ্যমে সঠিক Product নির্বাচন করা হয়েছে (এখানে ID=3 সিলেক্ট করা হয়েছে)।
  • .InnerText দিয়ে Price এর মান পরিবর্তন করা হয়েছে।
  • অবশেষে doc.Save() দিয়ে XML ফাইল সেভ করা হয়েছে।

আউটপুট XML:

<Products>
    <Product>
        <ID>1</ID>
        <Name>Laptop</Name>
        <Price>50000</Price>
    </Product>
    <Product>
        <ID>2</ID>
        <Name>Smartphone</Name>
        <Price>25000</Price>
    </Product>
    <Product>
        <ID>3</ID>
        <Name>Tablet</Name>
        <Price>28000</Price>
    </Product>
</Products>

LINQ to XML এবং XmlDocument এর তুলনা

  • LINQ to XML একটি আধুনিক এবং declarative পদ্ধতি, যেখানে কোড খুবই সহজ এবং পাঠযোগ্য হয়। এটি query-based পদ্ধতি ব্যবহার করে ডেটাকে ম্যানিপুলেট করে।
  • XmlDocument আরও পুরনো এবং imperative পদ্ধতি ব্যবহার করে, যেখানে XML ডেটার প্রতিটি নোডকে অবজেক্ট হিসেবে ম্যানিপুলেট করা হয়। তবে এটি কিছুটা জটিল হতে পারে, বিশেষত বড় XML ডেটা নিয়ে কাজ করার সময়।

উপসংহার

LINQ to XML এবং XmlDocument দুটোই XML ডেটা ম্যানিপুলেশন এর জন্য শক্তিশালী সরঞ্জাম। যদি আপনি একটি আধুনিক, কোড লেখায় সহজ এবং কমপ্যাক্ট পদ্ধতি চান, তবে LINQ to XML ব্যবহার করা উচিত। তবে যদি আপনি পুরনো .NET অ্যাপ্লিকেশন বা DOM-based ম্যানিপুলেশন করতে চান, তবে XmlDocument একটি ভালো অপশন হতে পারে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion