Xml da linq texnologiyasini qo’llashdir. Linq



Download 55,28 Kb.
bet1/4
Sana22.06.2022
Hajmi55,28 Kb.
#691728
  1   2   3   4
Bog'liq
LinQ va Xml


Linq va Xml
Xml bilan ishlashning yana bir yondashuvlaridan biri XML da LINQ texnologiyasini qo’llashdir. LINQ ning XML-ga bog’liq bo'lgan barcha funksiyalar tizimi System.Xml.Linq nom maydonida joylashgan. Ushbu nom maydonining asosiy sinflarini ko'rib chiqamiz:

Asosiy sinf XElement bo'lib, u ichki elementlarni olish va ularni boshqarish imkonini beradi. Uning funksiyalari orasida quyidagilarni ko’rib chiqamiz:

  • Add(): yangi xususiyat yoki elementni qo'shadi

  • Attributes(): ushbu element uchun xususiyatlar to'plamini qaytaradi

  • Elements(): ushbu elementning barcha voris elementlarini qaytaradi

  • Remove(): ushbu elementni tayanch elementdan olib tashlaydi

  • RemoveAll(): ushbu elementni barcha voris elementlari va xususiyatlarini olib tashlaydi.

Bironta Xml faylni olamiz:



Apple
40000


Samsung
33000


Fayldagi ma’lumotlarni Consolga chiqaramiz:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;

namespace Linq_Xml


{
class Program
{
static void Main(string[] args)
{
XDocument xdoc = XDocument.Load("D://Dasturlash texnologiyasi//D. T.-2 Misollar//phones.xml");
foreach (XElement phoneElement in xdoc.Element("phones").Elements("phone"))
{
XAttribute nameAttribute = phoneElement.Attribute("name");
XElement companyElement = phoneElement.Element("company");
XElement priceElement = phoneElement.Element("price");
if (nameAttribute != null && companyElement != null && priceElement != null)
{
Console.WriteLine($"Telefon: {nameAttribute.Value}");
Console.WriteLine($"Kompaniya: {companyElement.Value}");
Console.WriteLine($"Narxi: {priceElement.Value}");
}
Console.WriteLine();
}
}
}
}
Ekranga quyidagicha natija chiqadi:

Mavjud Xml fayli bilan ishlashni boshlash uchun avval uni statik Xdocument.Load() funksiyasi bilan yuklab olishingiz kerak. Bizning misolda XDocument.Load("D://Dasturlash texnologiyasi//D. T.-2 Misollar//phones.xml").
Xml daraxtsimon tarzda qurilgan elementlardan tuzilganligi sababli, elementlarga kirish uchun biz ushbu daraxtning eng yuqorisidan pastga tushishimiz kerak. Shunday qilib, telefon elementlarini olish va ularga kirish uchun avval ildiz elementiga murojaat qilishingiz kerak va u orqali telefon elementlarni chaqiramiz : xdoc.Element("phones").Elements("phone").
Element ("Element nomi") funksiyasi bu nom bilan topilgan birinchi elementni qaytaradi. Element ("Element nomi") funksiyasi xuddi shu nomdagi elementlarning to'plamini qaytaradi. Bunday holda, biz telefon elementlarining to'plamini olamiz va shuning uchun uni siklda tartiblashimiz mumkin. Daraxtdan pastga tushib, biz xususiyatlarni yoki ichki elementlarni olishimiz mumkin, masalan, XElement companyElement = phoneElement.Element("company");
Bitta matnni o'z ichiga olgan oddiy elementlarga qiymat yuklash uchun Value xususiyatidan foydalaniladi: string company = phoneElement.Element("company").Value
Linq va Linq-Xml operatorlarini birlashtirib sinf yordamida oddiy misolni ko’ramiz:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace Linq_Xml
{
class Program
{
class Phone
{
public string Name { get; set; }
public string Price { get; set; }
}
static void Main(string[] args)
{
XDocument xdoc = XDocument.Load("D://Dasturlash texnologiyasi//D. T.-2 Misollar//phones.xml");
var items = from xe in xdoc.Element("phones").Elements("phone")
where xe.Element("company").Value == "Samsung"
select new Phone
{
Name = xe.Attribute("name").Value,
Price = xe.Element("price").Value
};
foreach (var item in items)
Console.WriteLine($"{item.Name} - {item.Price}");
}
}
}


Download 55,28 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish