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:
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 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?