C# ile XML Kullanımı

Uygulama için gerekli verileri, ayarları veya herhangi bir bilgiyi dosya sisteminden veya internet sunucusundan xml formatında alma ve döngüyle işlemeyi görelim.

Bu yazımda XmlDocument sınıfını kullanmayı anlatacağım.

Uygulama için gerekli verileri, ayarları veya herhangi bir bilgiyi dosya sisteminden veya internet sunucusundan xml formatında alma ve döngüyle işlemeyi görelim.

XmlDocument sınıfı System.Xml uzayı içerisinde yer alır. Bu nedenle kodun en başına:


using System.Xml;


ekleyerek kullanmalısınız.


XmlDocument sınıfi ile dosya açmanın 2 yolu vardır.

1. Yol (Xml'i dosyadan alma)


XmlDocument doc = new XmlDocument();

doc.Load("D:\Data Server\ayarlar.xml"); 

// "D:\Data Ser... " yerine bir URL de yazabilirsiniz. "http://../data.xml"



2. Yol (Xml i string olarak alma)

string strXml = "xml version=\"1.0\"?>";

strXml += "<ayarlar>";

 

 strXml += "<ayar ad=\"başlık\" deger=\"Başlık Metni\" />";

strXml += "</ayarlar>";

XmlDocument doc = new XmlDocument();

doc.LoadXml(strXml);


Bu iki yöntemi de XmlDocument sınıfına Xml dosyasını yüklemek için kullanabilirsiniz.

2. Yöntemi kullanırken Xml dosyasını bir web sitesinden yüklemek istiyorsanız WebClient kullanmanız gerekir.

C# ile WebClient Kullanımı

WebClient kullanmadan web sitesinden XML yüklemek için XmlDocument.Load metodunu kullanınız.

XML Dosyasını İşlemek

Xml dosyasını programın bazı ayarlarını değiştirmek için kullandığınızı varsayalım. Bu ayarlar başlık metni, arkaplan rengi ve pencere boyutları olsun.

Önce XML Belgesini oluşturmalıyız. Bunu elle not defteri v.b. bir program ile yapabilirsiniz. (Notepad ++ önerilir)


xml version="1.0"?>

<program>

 <ayarlar>

   <ayar ad="baslik" deger="Başlık Metni" />

   <ayar ad="arkaplan" deger="f0f0f0" />

   <ayar ad="boyutlar" deger="640,480" />

 </ayarlar>

</program>


Bu dosyayı ayarlar.xml olarak kaydettik.


XmlDocument doc = new XmlDocument();

doc.Load("ayarlar.xml");



XmlNodeList nods = doc.SelectNodes("program/ayarlar/ayar");



foreach (XmlNode nod in nods)

{

    switch (nod.Attributes["ad"].Value)

    { 

        case "baslik":

            this.Text = nod.Attributes["deger"].Value;

            break;



        case "arkaplan":

            this.BackColor = ColorTranslator.FromHtml(nod.Attributes["deger"].Value);

            break;



        case "boyutlar":

            string[] wh = nod.Attributes["deger"].Value.Split(',');



            this.Size = new Size(int.Parse(wh[0]), int.Parse(wh[1]));



            break;

    }

}


Bu şeklilde xml dosyasından ayarları yükleyip uygulamış olduk.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git