DataSet’teki Verilerimizi XML Olarak Dışarı Aktaralım

Verilerimizi XML formatında dışarıya aktarma gereksinimi duyabiliriz. DataSet ‘e yüklemiş olduğumuz verileri WriteXML metodu ile çok kolay bir şekilde XML formatında dışarıya çıkartabiliriz. Ben örneğimde AdventureWorks2012 örnek veritabanının Production.Product tablosunda bulunan ürünleri dışarıya XML formatında aktaracağım. WriteXML metodununun 8 tane yapıcı metodu bulunmaktadır . Ben örneğimde WriteXml(string,XmlWriteMode) yapıcı metodunu kullanacağım.

İlk parametre oluşacak XML dosyasının kaydedileceği yolu, ikinci parametre ise oluşacak XML dosyasının Schema ile birlikte mi yoksa Schema’sız mı oluşacağı bilgisini alır.

XmlWriteMode.IgnoreSchema: DataSet nesnesi içerisindeki verileri Schema bilgileri olmadan xml dosyası olarak dışarıya aktarır.

XmlWriteMode.WriteSchema: DataSet nesnesi içerisindeki verileri Schema bilgileriyle beraber <xs:schema> kayitlar </xs:schema> tagları arasında ekleyerek xml  dosyası olarak dışarıya aktarır.

Yeni bir Console Application oluşturup önce schema olmadan sonra schema bilgileriyle beraber kayıtlarımı dışarıya aktarıyor olacağım.

[csharp]

string db = "Data Source=.;Initial Catalog=AdventureWorks2012;User Id=sa;Password=1";
SqlConnection con=new SqlConnection(db);
SqlDataAdapter da = new SqlDataAdapter("SELECT ProductID,Name,ProductNumber,ListPrice FROM PRODUCTION.Product", con);
DataSet ds = new DataSet();
da.Fill(ds);
ds.WriteXml("C:\\Product.xml", XmlWriteMode.IgnoreSchema);

[/csharp]

Uygulamamı çalıştırdığımda “C:” dizinimde Product.xml dosyası oluştu.

2014-01-29 15_54_58-Local Disk (C_)

Oluşan XML dosyamızın içeriğini incelediğimizde ise herhangi bir schema bilgisi olmadığını görüyoruz.

ignoreXml

XML dosyamızı Schema bilgileri ile birlikte oluşturalım.

[csharp]

string db = "Data Source=.;Initial Catalog=AdventureWorks2012;User Id=sa;Password=1";
SqlConnection con = new SqlConnection(db);
SqlDataAdapter da = new SqlDataAdapter("SELECT ProductID,Name,ProductNumber,ListPrice FROM PRODUCTION.Product", con);
DataSet ds = new DataSet();
da.Fill(ds);
ds.WriteXml("C:\\Product.xml", XmlWriteMode.WriteSchema);

[/csharp]

WriteShema

Şimdiki oluşan XML dosyamız artık Schema bilgilerine sahip.

Yararlı olması dileğiyle…

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.