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.
Oluşan XML dosyamızın içeriğini incelediğimizde ise herhangi bir schema bilgisi olmadığını görüyoruz.
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]
Şimdiki oluşan XML dosyamız artık Schema bilgilerine sahip.
Yararlı olması dileğiyle…