XML Document bilan ishlash
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:
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:
-
WriteStartDocument — Yangi hujjat yozishni boshlash
-
WriteStartElement — Yangi element ochish
-
WriteValue — Element qiymatini kiritish
-
WriteEndElement — elementni yopish
-
WriteEndDocument — hujjatni yopish
Create — Yangi hujjat obyektini yaratish
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 😉
Dasturlash
XML Document bilan ishlash