20 Mart 2013 Çarşamba

C Sharp Form Uygulamalar XML Yazma XML Okuma XML Veri Tabanı (XML Reader WML Writer )



KONU : C Sharp ( C# ) xml write reader uygulaması , xml yazma ve okuma uygulama örnekleri, c sharp xml veri tabanı oluşturma, c sharp form personel listesi oluşturma.





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace XmlWriterReader
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            //Formda kullanılacak elemanları ayarla
        }

        // Personeller için jenerik bir list oluştur

        List< Personeller > personeller = new List< Personeller >();


        private void buton_Ekle_Click(object sender, EventArgs e)
        {
            //Personel ekleme alanıda girilen personeli

            //jenerik listeye ekle

            Personeller personel = new Personeller();

            personel.Ad = txtAd.Text;

            personel.Soyad = txtSoyad.Text;

            personel.Tel = txtTel.Text;

            personeller.Add(personel);

            //Personeli ekledikten sonra textbox ları temizle

            txtSoyad.Text = txtAd.Text = txtTel.Text = "";

            ListeyiGuncelle();
        }


        void ListeyiGuncelle()
        {
            //Personelleri listeme alanında bulunan listeyi

            //temizleyip güncelle

            listBox1.Items.Clear();

            listBox1.Items.AddRange(personeller.ToArray());
        }


        // Personellerin ad, soyad ve telefon bilgilerinin tutulacağı

        // dosyanın ismi

        string dosya = "personeller.xml";

        void XmleYaz(List< Personeller > personeller)
        {
            //dosyayı yazacak nesne

            XmlTextWriter yazici = new XmlTextWriter(dosya, System.Text.Encoding.Unicode);

            yazici.Formatting = Formatting.Indented;

            //herbir child node bir öncekinin altına yazılsın

            yazici.Indentation = 3;//ne kadar içe kayacak: Ad,Soyad,Tel

            yazici.WriteStartDocument();

            yazici.WriteStartElement("Personeller");


            // Jenerik Personler listesinde bulunanları XML documanına yaz veya kaydet

            foreach (Personeller personel in personeller)
            {
                yazici.WriteStartElement("Personel");

                //yazici.WriteAttributeString("ID", Guid.NewGuid().ToString());

                yazici.WriteElementString("Ad", personel.Ad);

                yazici.WriteElementString("Soyad", personel.Soyad);

                yazici.WriteElementString("Tel", personel.Tel);

                yazici.WriteEndElement();
            }

            yazici.WriteEndElement();

            yazici.WriteEndDocument();

            yazici.Close();
        }


        private void buton_Kaydet_Click(object sender, EventArgs e)
        {
            //XML e verleri Kaydetme 

            XmleYaz(personeller);

            MessageBox.Show("İşlem tamamdır...");
        }


        private void buton_Veriyi_Guncelle_Click(object sender, EventArgs e)
        {
            // Listeyi güncelleme, XML dokumanı okuyarak, personleler listesini güncelleme

            XmlTextReader okuyucu = new XmlTextReader(dosya);

            personeller.Clear();

            Personeller personel = null;

            while (okuyucu.Read())
            {
                //string isim = okuyucu.Name;
                if (okuyucu.NodeType == XmlNodeType.Element)
                {
                    personel = new Personeller();

                    okuyucu.ReadToFollowing("Ad");

                    personel.Ad = okuyucu.ReadInnerXml();


                    okuyucu.ReadToFollowing("Soyad");

                    personel.Soyad = okuyucu.ReadInnerXml();


                    okuyucu.ReadToFollowing("Tel");

                    personel.Tel = okuyucu.ReadInnerXml();


                    personeller.Add(personel);

                }
            }

            okuyucu.Close();

            ListeyiGuncelle();

        }

        public class Personeller
        {
            //personeller sınıfı, personlein ad,soyad e tel no sunu tutmak için kullanılacak

            public string Ad { get; set; }

            public string Soyad { get; set; }

            public string Tel { get; set; }


            //personel.ToString() çağrıldığında gelecek olan bilgiyi değiştir

            public override string ToString()
            {
                return this.Ad + " \t" + this.Soyad + " \t: \t" + this.Tel;
            }
        }
    }
}


UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönder