|
ADO.NET ile Verileri XML'e Çevirme İşlemleri |
|
Gönderiliyor lütfen bekleyin... |
|
|
Yakın bir gelecekte XML her uygulama için vazgeçilmez bir parça olacak. ADO.NET ile XML kullanımı oldukça kolaylaştırılmıştır. Makalemizde ADO.NET ile verileri nasıl XML formatına çevireceğimizi inceleyeceğiz. Veritabanınızda bulunan verileri XML formatına çevirerek diğer programlarla paylaşabilirsiniz. Uzakta bulunan bir program veya bir web projesi olabilir. Bunların XML sayesinde haberleşmeleri oldukça kolay , güvenli ve hızlı olacaktır. Öncelikle XML metin tabanlı olduğu için bir veri tabanı kadar yer kaplamaz. Ateş duvarlarına yakalanma riski yoktur ve yapısı oldukça basittir. Uyeler.xml dosyamı ben bir sunucuya yollayarak ana makinedeki bilgileri sürekli güncel tutabilirim veya web sitemin haber kısmında kullanıp sitemde bulunan haberleri XML sayesinde herkesle paylaşabilirim. Bunlar gibi örnekler çoğaltılabilir.
Bu makale için hazırladığım örnekte bir access dosyası kullandım.
Örnek program ile bu veritabanına bağlanıp dataset içine aldığımız verileri bir XML dosyası olarak kaydedeceğiz.
uyeler isimli tablonun içeriği aşağıda.
Dataset içine aldığımız veriler yapısı aynen kalacak şekilde XML biçiminde saklanmaktadır. XML olarak alınan verileri istediğimiz gibi kullanabiliriz. Bütün bunları yaparken tüm olaylar Dataset içinde olur. Veritabanı ile bağlantı yoktur. Eğer veritabanında güncellenmesi gereken bir işlem yaparsak işlemlerimiz bittikten sonra veritabanı bağlantımız açıp veritabanını güncellememiz gerekir. Bir veritabanına bağlanıp bu tablonun içinde olan verileri dataset içine alıyorum.
//objConn değişkenini OleDbConnection nesnesi olarak tanımlıyorum.
// Benim bilgisayarımda projemin olduğu klasörden uye.mdb dosyasını bağlantı gerçekleştiriyorum .
OleDbConnection objConn = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;DATA Source=C:\\Documents and Settings\\TShark\\My Documents\\Visual Studio Projects\\datasetXML \\uye.mdb");
//Veritabanını açıyoruz.
objConn.Open();
//dset değişkenini DataSet olarak tanımlıyoruz.
DataSet dset= new DataSet();
// comstr değişkenini string olarak tanımlayıp SQL sorgumuzu bu değişkene atıyoruz.
String comstr = "SELECT * FROM uyeler";
// com değişkenini OleDbCommand nesnesi olarak tanımlıyoruz.
OleDbCommand com = new OleDbCommand ( comstr, objConn);
/* adapt değişkenini OleDbDataAdapter nesnesi olarak tanımlıyoruz. Ve com değişkeninde bulunan komutu çalıştırıyoruz. Buraya kadar olan kısımda veri tabanına bağlanıp bir SQL sorgusu çalıştırdık. */
OleDbDataAdapter adapt = new OleDbDataAdapter ( com );
// Dataadapter içindeki verileri datasetin içine dolduruyoruz.
adapt.Fill ( dset, "uyeler" );
// Datasete verilerimizi aldıktan sonra bir çok işlem yapabiliriz. Bunlardan bir kaçına örnek yapalım
|
*Veritabanına bağlandık ve verileri Dataadapter vasıtasıyla Datasete doldurduk.
Buradan sonra veriler datasetimiz içinde bir XML olarak bulunuyor. Datasete vereceğimiz komutla veritabanında bulunan verileri bir xml dosyası olarak alabiliriz. Yukarıda yazdığımız satıra alttaki komutu ilave edin.
dset.WriteXml ( "uyeler.xml" ); |
uyeler.xml dosyamızın içeriği alttaki gibi olacaktır. Bu içeriğin şemasını yukarıda yapmış olduğumuz veritabanından almaktadır.
<?xml version="1.0" standalone="yes" ?>
<NewDataSet>
<uyeler>
<uyeid>1</uyeid>
<uyeadi>tugrul</uyeadi>
<
uyeyasi>28</uyeyasi>
<uyecinsi>1</uyecinsi>
</uyeler>
<uyeler>
|
*Üstteki veritabanı ve XML arasındaki şema aynıdır. Yani bu xml dosyası veritabanının XML biçimli birebir kopyasıdır.
Çalışma anında XML çıktısı almak
Buraya kadar olan bölüm bir dosyaya çıktı veriyordu. Siz programınızın içinde bu XML verilerine ihtiyacınız olabilir. Alttaki örnekte GetXml komutuyla Textbox1 isimli yazı kutucuğuna(MultiLine olmalı) dataset içinde bulunan verileri xml formatında yazdırıyoruz.
textBox1.Text = dset.GetXml(); |
*Xml içeriğini istediğimiz bir nesneye yönlendirebiliriz.
Buraya kadar yaptıklarımızı biraz toparlayıp örnek bir program hazırlayalım. Bunun için Visual Studio.NET ile yeni bir C# Windows uygulaması açın.Alttakine benzer bir datagrid , bir textbox (multiLine olmalı), bir tane de button ve System.Data ve Systemdata.Oledb
isim alanlarını ekleyelim.
private void button1_Click(object sender, System.EventArgs e)
{
OleDbConnection objBaglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DATA Source=C:\\Documents and Settings\\TShark\\My Documents\\Visual Studio Projects\\datasetXML\\uye.mdb");
objBaglanti.Open();
DataSet dset= new DataSet();
String comstr = "SELECT * FROM uyeler";
OleDbCommand com = new OleDbCommand ( comstr, objBaglanti );
OleDbDataAdapter adapt = new OleDbDataAdapter ( com );
adapt.Fill ( dset, "uyeler" );
datagrid1.SetDataBinding ( dset, "uyeler" );
dset.WriteXml ( "uyeler.xml" );
textBox1.Text = dset.GetXml();
objBaglanti.Close( );
}
|
Özellikle son yıllarda globalleşme, uluslararası ilişkiler gibi kavramları oldukça sık duymaktayız. Ben .NET teknolojisi ve XML Web Servislerinin internette bilgi paylaşımını arttıracağına ve sanal dünyada da bir bakıma globalleşme başlayacağına inanıyorum. Sanal Dünyada teknoloji ilerledikçe küçülüyor.
Bu makalemizde ADO.NET ve XML arasındaki bazı ilişkileri inceleyip bir örnek program hazırladık. Bugün incelediğimiz konu hakkında bir kaç değişik örnek yapmanızı tavsiye ederim.
Herkese sağlıklı, mutlu ve başarılı günler diliyorum.
Makale:
ADO.NET ile Verileri XML'e Çevirme İşlemleri XML ve Web Servisleri Tuğrul Aras
|
|
|
-
-
Eklenen Son 10
-
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
|
|