Makale numarası: 311566 - Son Gözden Geçirme: 13 Mayıs 2007 Pazar - Gözden geçirme: 2.4

XML veri Visual C#. NET'i kullanarak bir DataSet içinde nasıl

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede, Genişletilebilir Biçimlendirme Dili (XML) veri ADO.NET DataSet nesneyi okumaya gösterilmiştir.

Gereksinimler

Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Server veya Windows NT 4.0 Server Gelişmiş...
  • Microsoft Visual Studio. NET'i
Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:
  • Visual Studio .NET
  • ADO.NET temelleri ve sözdizimi
  • XML Temelleri

Tekniğin Açıklaması

XML şeması ve verileri bir DataSet içinde okunamıyor, ReadXml yöntemini kullanabilirsiniz. XML verileri doğrudan bir dosya, bir Akış nesnesi, XmlWriter nesne veya TextWriter bir nesne olarak okunabilir.

Fazla yüklenmiş yöntemleri iki kümesinden ReadXml yöntemi için gereksinimlerinize bağlı olarak kullanabilirsiniz. Ilk dört fazla yüklenmiş yöntemleri sürer tek parametre olarak ayarlayın. Ikincisi dört fazla yüklenmiş yöntemleri Al (XmlReadMode) bir ek parametre parametrelerden biri ile birlikte ilk kümesinden ayarlayın.

Aşağıdaki liste, bir parametre, fazla yüklenmiş yöntemleri ilk kümesi özetlenmiştir:
  • Izlemek için belirtilen bir dosya DataSet XML şeması ve verileri okumaya kullanır:
    Overloads Public Sub ReadXml(String)
    					
  • Izlemek için belirtilen bir TextReaderDataSet içinde XML şeması ve verileri okumak için kullanır. Karakter girişi için tasarlanmış TextReader.
    Overloads Public Sub ReadXml(TextReader)
    					
  • Izlemek için belirtilen bir System.IO.StreamDataSet içinde XML şeması ve verileri okumak için kullanır. Akış sınıfı, giriş ve çıkış bayt için tasarlanmıştır.
    Overloads Public Sub ReadXml(Stream)
    					
  • Izlemek için belirtilen bir XmlReaderDataSet, XML şeması ve verileri okumak için kullanır. Hızlı ve önbelleğe alınmamış, bu yöntem sağlar - iletme yalnızca World Wide Web Consortium (W3C) uyan XML veri erişimi XML 1.0 belirtimine ve XML belirtimi boşluklarında.
    Overloads Public Sub ReadXml(XmlReader)
    					
Liste izlemek için ikinci XmlReadMode yukarıda belirtilen parametrelerden biri ile olması, fazla yüklenmiş yöntemleri kümesi özetlenmiştir. XmlReadMode numaralandırma bir DataSet XML veri ve şema okumaya belirler.
  • DiffGram. Bir DiffGram okur ve değişiklikleri DataSet DiffGram uygular.
  • Parça. Satır içi XML-Data Reduced (XDR) şema parçaları (örneğin, Microsoft SQL Server örneğine karşı satır içi XDR şeması içeren şemalar IÇIN XML çalıştırdığınızda oluşturulan) içeren bir XML belgelerini okur.
  • ıgnoreschema. Herhangi bir satır içi şema yoksayar ve varolan DataSet şeması içinde verileri okur.
  • InferSchema. Verileri şemadan infers herhangi bir satır içi şema yoksayar ve veriler yükler. DataSet bir şema zaten içeriyorsa, varolan tablolara sütunlar ekleyerek ve tabloları yoksa yeni bir tablo ekleme InferSchema geçerli şema genişletir.
  • ReadSchema. Herhangi bir satır içi şema okur ve veriler yükler.
  • Otomatik. Varsayılan. En uygun eylemi gerçekleştirir.

Proje oluşturmak ve kodu ekleme

Bu örnek, MySchema.xml adlı bir dosya kullanır. MySchema.xml oluşturmak için aşağıdaki Microsoft Bilgi Bankası makalesindeki adımları izleyin:
309183  (http://support.microsoft.com/kb/309183/EN-US/ ) Visual C#. NET'i kullanarak, bir ADO.NET DataSet XML olarak gerçekleştikten nasıl
Aşağıdaki kod örneği, iki ReadXml yüklenmiş sık kullanılan sürümlerinin kullanımı gösterilmiştir. Diğer örnekler için bu yöntemin tek tek aşırı yük konuları için MSDN bakın.
  1. Visual Studio .NET'i başlatın.
  2. Yeni bir Windows uygulaması projesi, Visual C# .NET ile oluşturun. Form1, varsayılan olarak projeye eklenir.
  3. Projenizi System.Data ad boşluğuna başvuru içerdiğinden emin olun ve yoksa, bu ad için bir başvuru ekleyin.
  4. Iki Düğme denetimi ve Form1 bir DataGrid denetiminde yerleştirin. BtnReader için Button1 <a1>Name</a1> özelliğini değiştirmek ve Okuyucu için Text özelliğini değiştirin.

    BtnFile için BUTTON2 <a1>Name</a1> özelliğini değiştirin ve Dosya için Text özelliğini değiştirin.
  5. Kodunuzu daha sonra bu ad boşluklarında bildirimlerinde nitelemek için gerekli değildir Sistem ve System.DataSystem.Data.SqlClient ad kullanarak ifade kullanın.
    using System;
    using System.Data;
    using System.Data.SqlClient;
    					
  6. Aşağıdaki kodu, karşılık gelen olay işleyicisinde için düğmeler ekleyin:
    private void btnReader_Click(object sender, System.EventArgs e)
    {
        string myXMLfile = @"C:\MySchema.xml";
        DataSet ds = new DataSet();
        // Create new FileStream with which to read the schema.
        System.IO.FileStream fsReadXml = new System.IO.FileStream 
            (myXMLfile, System.IO.FileMode.Open);
        try
        {
            ds.ReadXml(fsReadXml);
            dataGrid1.DataSource = ds;
            dataGrid1.DataMember = "Cust";
        }
        catch (Exception ex)
        {
    	MessageBox.Show(ex.ToString());
        }
        finally
        {
    	fsReadXml.Close();
        }
    }
    		
    private void btnFile_Click(object sender, System.EventArgs e)
    {
        string myXMLfile = "C:\\MySchema.xml";
        DataSet ds = new DataSet(); 
        try
        {
            ds.ReadXml(myXMLfile);
            dataGrid1.DataSource = ds;
            dataGrid1.DataMember = "Cust";
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    					
  7. Ortamınıza uygun olarak (MyXmlFile) XML dosyasının yolunu değiştirin.
  8. Projenizi kaydetmek. Hata Ayıkla) menüsünde, projenizin çalıştırmak için Başlat ' ı tıklatın.
  9. XML verilerini belirtilen dosyadan okumak için düğmeleri tıklatın. XML veri kılavuzunda görüntülendiğine dikkat edin.

Ek notlar

  • Yalnızca XML Şeması'nı okumak için <a0></a0>, ReadXmlSchema yöntemini kullanabilirsiniz.
  • DataSet yerine yalnızca XML betimlemesi verileri almak için bir veya bir dosya üzerine persisting, GetXml yöntemini kullanabilirsiniz.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
309183  (http://support.microsoft.com/kb/309183/EN-US/ ) Visual C#. NET'i kullanarak, bir ADO.NET DataSet XML olarak gerçekleştikten nasıl
262450  (http://support.microsoft.com/kb/262450/EN-US/ ) BIR C++ örnek, ADO Recordset XML süreklilik nasıl
ADO.NET nesneleri ve sözdizimi hakkında daha fazla bilgi için aşağıdaki Microsoft .NET Framework Software Development Kit (SDK) belgelerine veya MSDN Online'a bakın:
ADO.NET ile verilere erişme
http://msdn2.microsoft.com/en-us/library/e80y5yhx(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/e80y5yhx(vs.71).aspx)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ADO.NET 1.1
  • Microsoft ADO.NET 1.0
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbhowtomaster kbsystemdata KB311566 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:311566  (http://support.microsoft.com/kb/311566/en-us/ )