XML Document bilan ishlash

Nodirbek Abdulaxadov

XML (eXtensible Markup Language) - kengaytirilgan markerlash tili degan ma'noni anglatadi va SGML (Standard Generalized Markup Language) standart umumlashtirilgan markerlash tilidan olingan matnga asoslangan markerlash tilidir.

XML hujjatlar bilan ishlash uchun C# dasturlash tilida System.Xml nomlar fazosidagi asosan quyidagi sinflardan foydalaniladi:

Keling endi gapni cho'zmasdan amaliyotga o'tamiz. Quyida biz XML hujjat hosil qilishning bir nechta usullarini ko'rib chiqamiz.

Jarayonda biz Talaba modelidan tuzilgan Talabalar jadvalidan foydalanamiz:

public class Talaba
    {
        public int Id { get; set; }
        public string Ism { get; set; }
        public string Familiya { get; set; }
        public string TelNomer { get; set; }
    }

1. XmlDocument va XmlNode sinflari yordamida:

XmlDocument sinfidan yangi obyekt hosil qilamiz:

XmlNode sinfi orqali Xml hujjat parametrlarini hosil qilamiz va uni AppendChild metodi yordamida document ga qo'shamiz:

Xml da yangi element hosil qilish XmlNode sinfining CreateElement metodi, elementga qiymat berish uchun esa CreateTextNode metodidan foydalanamiz.

Talabalar nomli bosh elementni yaratamiz va uni documentga qo'shamiz:

Endi Talaba modelining xususiyatlarini element shaklida tashkil qilgan Talaba nomli element hosil qilamiz:

Yaratgan Xml hujjatimizni saqlaymiz:

Natijamiz:

2. XmlWriter sinfi yordamida:

XmlWriter sinfining metodlari:

  • Create - Yangi hujjat obyektini yaratish

  • WriteStartDocument - Yangi hujjat yozishni boshlash

  • WriteStartElement - Yangi element ochish

  • WriteValue - Element qiymatini kiritish

  • WriteEndElement - elementni yopish

  • WriteEndDocument - hujjatni yopish

  • Flush - hujjatni saqlash

XmlWriter sinfining metodlaridan va yuqoridagi model va ketma-ketlikdan foydalanib yangi Talabalar.xml nomli hujjat hosil qilamiz.

XmlWriter sinfidan yangi obyekt hosil qilish uchun dastlab uning sozlamalarini hosil qilish kerak bo'ladi:

XmlWriter obyektini Talabalar.xml fayli nomi va yuqoridagi settings bilan hosil qilamiz:

Talaba modelining xususiyatlarini kiritib, hujjatimizni hosil qilamiz:

3. XML hujjat hosil qilish uchun C# dasturlash tilida System.Xml.Linq nomlar fazosidagi XElement sinfidan ham foydalansak bo'ladi:

Va nihoyat men yoqtirgan usulga ham yetib keldik 😄!

4. XML hujjatni JSON fayllar kabi Serialize qilish orqali ham yaratishimiz mumkin. Buning uchun bizga System.Xml.Serialization nomlar fazosidagi sinflar kerak bo'ladi.

Dastlab Talaba modelimizga [Serializable] attributini qo'shishimiz kerak bo'ladi:

Yangi Talaba obyektini xususiyatlari bilan yaratamiz va Talabalar listiga qo'shamiz:

Obyektimizni serialize qilamiz va TextWriter yordamida Talabalar.xml nomi bilan saqlaymiz:

Natijamiz:

Qachondir davomi bor yana ;)

Last updated

Was this helpful?