Aracılığıyla paylaş


DataSet ve XmlDataDocument Eşitlemesi

ADO.NET DataSet , verilerin ilişkisel bir gösterimini sağlar. Hiyerarşik veri erişimi için .NET Framework'te bulunan XML sınıflarını kullanabilirsiniz. Geçmişte bu iki veri gösterimi ayrı olarak kullanılmıştır. Ancak, .NET Framework, DataSet ve XmlDataDocument nesneleri aracılığıyla verilerin sırasıyla hem ilişkisel hem de hiyerarşik temsillerine gerçek zamanlı ve senkronize erişim sağlar.

Bir DataSetXmlDataDocument ile eşitlendiğinde, her iki nesne de tek bir veri kümesiyle çalışıyor. Bu, DataSet'te bir değişiklik yapılırsa, değişikliğin XmlDataDocument'a yansıtılacağı ve tersi anlamına gelir. DataSet ile XmlDataDocument arasındaki ilişki, tek bir veri kümesi kullanarak tek bir uygulamanın, Web Forms ve Windows Forms denetimleri ile Visual Studio .NET tasarımcıları gibi DataSet etrafında inşa edilmiş tüm hizmetler paketine, ayrıca Genişletilebilir Stil Sayfası Dili (XSL), XSL Dönüşümleri (XSLT) ve XML Yol Dili (XPath) gibi XML hizmetleri paketine erişmesine olanak tanıyarak büyük esneklik sağlar. Uygulamayla hedeflenen hizmet kümesini seçmeniz gerekmez; her ikisi de kullanılabilir.

DataSet bir XmlDataDocument ile eşitlemek için kullanabileceğiniz çeşitli yollar vardır. Şunları yapabilirsiniz:

  • Bir DataSet şemayı (ilişkisel yapı) ve verilerle doldurun ve ardından yeni bir XmlDataDocument ile eşitleyin. Bu, mevcut ilişkisel verilerin hiyerarşik bir görünümünü sağlar. Örneğin:

    Dim dataSet As DataSet = New DataSet
    
    ' Add code here to populate the DataSet with schema and data.
    
    Dim xmlDoc As XmlDataDocument = New XmlDataDocument(dataSet)
    
    DataSet dataSet = new DataSet();
    
    // Add code here to populate the DataSet with schema and data.
    
    XmlDataDocument xmlDoc = new XmlDataDocument(dataSet);
    
  • Bir DataSet öğesini yalnızca şemayla doldurun (kesin olarak yazılan bir DataSet gibi), XmlDataDocument ile eşitleyin ve ardından bir XML belgesinden XmlDataDocument'yi yükleyin. Bu, mevcut hiyerarşik verilerin ilişkisel bir görünümünü sağlar. Şemanızdaki DataSet tablo adları ve sütun adları, eşitlenmelerini istediğiniz XML öğelerinin adlarıyla eşleşmelidir. Bu karşılaştırma büyük/küçük harfe duyarlıdır.

    yalnızca şemasının DataSet ilişkisel görünümünüzde göstermek istediğiniz XML öğeleriyle eşleşmesi gerektiğini unutmayın. Bu şekilde, bu belgede çok büyük bir XML belgesi ve çok küçük bir ilişkisel "pencere" olabilir. , XmlDataDocument XML belgesinin yalnızca küçük bir bölümünü kullanıma sunmalarına rağmen DataSet belgenin tamamını korur. (Bunun ayrıntılı bir örneği için bkz. DataSet'i XmlDataDocument ile Eşitleme.)

    Aşağıdaki kod örneği, bir DataSet oluşturma, şemasını doldurma ve ardından bunu bir XmlDataDocument ile eşitleme adımlarını göstermektedir. DataSet şemasının yalnızca XmlDataDocument içindeki, DataSet kullanarak erişime açmak istediğiniz öğelerle eşleşmesi gerektiğini unutmayın.

    Dim dataSet As DataSet = New DataSet
    
    ' Add code here to populate the DataSet with schema, but not data.
    
    Dim xmlDoc As XmlDataDocument = New XmlDataDocument(dataSet)
    xmlDoc.Load("XMLDocument.xml")
    
    DataSet dataSet = new DataSet();
    
    // Add code here to populate the DataSet with schema, but not data.
    
    XmlDataDocument xmlDoc = new XmlDataDocument(dataSet);
    xmlDoc.Load("XMLDocument.xml");
    

    Veri içeren bir DataSet ile eşitlenmişse bir XmlDataDocument yükleyemezsiniz. Bir istisna atılacaktır.

  • Yeni XmlDataDocument bir oluşturun ve xml belgesinden yükleyin ve ardından DataSet özelliğini kullanarak verilerin ilişkisel görünümüne erişin. Içindeki verilerden DataSet herhangi birini XmlDataDocument kullanarak görüntüleyebilmek için önce şemasını ayarlamanız gerekir. Yine şemanızdaki DataSet tablo adları ve sütun adları, eşitlenmelerini istediğiniz XML öğelerinin adlarıyla eşleşmelidir. Bu karşılaştırma büyük/küçük harfe duyarlıdır.

    Aşağıdaki kod örneği , XmlDataDocument içindeki verilerin ilişkisel görünümüne nasıl erişileceğini gösterir.

    Dim xmlDoc As XmlDataDocument = New XmlDataDocument
    Dim dataSet As DataSet = xmlDoc.DataSet
    
    ' Add code here to create the schema of the DataSet to view the data.
    
    xmlDoc.Load("XMLDocument.xml")
    
    XmlDataDocument xmlDoc = new XmlDataDocument();
    DataSet dataSet = xmlDoc.DataSet;
    
    // Add code here to create the schema of the DataSet to view the data.
    
    xmlDoc.Load("XMLDocument.xml");
    

XmlDataDocument ile DataSet'in eşitlenmesinin bir diğer avantajı, XML belgesinin aslına uygunluğunun korunmasıdır. DataSet, ReadXml kullanılarak bir XML belgesinden doldurulursa, veriler kullanılarak WriteXml xml belgesi olarak geri yazıldığında özgün XML belgesinden önemli ölçüde farklılık gösterebilir. Bunun nedeni DataSet , xml belgesinden boşluk gibi biçimlendirmeyi veya öğe sırası gibi hiyerarşik bilgileri korumamasıdır. ayrıca DataSet XML belgesinden, Veri Kümesi şemasıyla eşleşmedikleri için yoksayılan öğeler içermez. XmlDataDocument ile DataSet eşitleme, özgün XML belgesinin biçimlendirme ve hiyerarşik öğe yapısının XmlDataDocument'da tutulmasına olanak tanırkenDataSet, yalnızca DataSet'e uygun verileri ve şema bilgilerini içerir.

DataSet ile XmlDataDocument eşitlenirken, sonuçlar, DataRelation bağlı olarak farklılık gösterebilir. Daha fazla bilgi için bkz DataRelations'in İç İçe Yerleştirilmesi.

Bu Kısımda

DataSet'i XmlDataDocument ile Eşitleme Kesin türü belirlenmiş ve çok az şemaya sahip bir DataSet'i, bir XmlDataDocument ile eşitlemeyi gösterir.

DataSet'te XPath Sorgusu GerçekleştirmeDataSet'in içeriğinde XPath sorgusu gerçekleştirmeyi gösterir.

DataSet'e XSLT Dönüşümü UygulamaDataSet'in içeriğine XSLT dönüşümü uygulamayı gösterir.

DataSet'te XML KullanmaDataSet, XML'yi bir veri kaynağı olarak kullanarak XML'nin nasıl etkileşime geçtiğini ve XML verileri olarak içerikleri yükleyip kalıcı hale getirme sürecini açıklar.

DataRelations İç İçe Yerleştirme bir DataRelation öğesinin içeriğini XML verileri olarak temsil ederken iç içe DataSet nesnelerin önemini açıklar ve bu ilişkilerin nasıl oluşturulacağını açıklar.

DataSets, DataTables ve DataViews uygulama verilerini yönetmek için ve ilişkisel veritabanları ve XML dahil veritabanı kaynaklarıyla etkileşimde bulunmak amacıyla nasıl kullanılacağını açıklar.DataSet

XmlDataDocument XmlDataDocument sınıfı hakkında başvuru bilgilerini içerir.

Ayrıca bakınız