Aracılığıyla paylaş


.NET Framework uygulamalarında veri kümesinde XML verilerini okuma

Uyarı

Sınıf DataSet ve ilgili sınıflar, uygulamaların veritabanıyla bağlantısı kesilirken uygulamaların bellekteki verilerle çalışmasını sağlayan 2000'lerin başlarındaki eski .NET Framework teknolojileridir. Teknolojiler özellikle kullanıcıların verileri değiştirmesine ve değişiklikleri veritabanında kalıcı hale getirebilmesine olanak tanıyan uygulamalar için kullanışlıdır. Veri kümeleri başarısı kanıtlanmış bir teknoloji olsa da, yeni .NET uygulamaları için önerilen yaklaşım Entity Framework Core kullanmaktır. Entity Framework, tablosal verilerle nesne modelleri olarak çalışmak için daha doğal bir yol sağlar ve daha basit bir programlama arabirimine sahiptir.

ADO.NET, XML verileriyle çalışmak için basit yöntemler sağlar. Bu kılavuzda, XML verilerini bir veri kümesine yükleyen bir Windows uygulaması oluşturacaksınız. Ardından veri kümesi bir DataGridView denetimde görüntülenir. Son olarak, XML dosyasının içeriğini temel alan bir XML Şeması bir metin kutusunda görüntülenir.

Önkoşullar

Bu öğreticiyi tamamlamak için aşağıdaki iş yüklerinin yüklü olduğu Visual Studio gerekir:

  • .NET masaüstü geliştirme
  • Veri depolama ve işleme

Bunları yüklemek için Visual Studio Installer açın ve değiştirmek istediğiniz Visual Studio sürümünün yanındaki Değiştir (veya Daha Fazla >)seçin. Bkz. Visual Studio'yu Değiştir.

Yeni proje oluşturma

C# veya Visual Basic için yeni bir Windows Forms Uygulaması projesi oluşturun. Projeyi ReadingXML olarak adlandırın.

Veri kümesinde okunacak XML dosyasını oluşturma

Bu kılavuz, XML verilerini bir veri kümesine okumaya odaklandığı için XML dosyasının içeriği de sağlanmıştır.

  1. Proje menüsünde Yeni Öğe Ekle'yi seçin.

  2. XML Dosyası'nı seçin, dosyayı authors.xmladlandırın ve ekle'yi seçin.

    XML dosyası tasarımcıya yüklenir ve düzenleme için hazırdır.

  3. Aşağıdaki XML verilerini XML bildiriminin altındaki düzenleyiciye yapıştırın:

    <Authors_Table>
      <authors>
        <au_id>172-32-1176</au_id>
        <au_lname>White</au_lname>
        <au_fname>Johnson</au_fname>
        <phone>408 496-7223</phone>
        <address>10932 Bigge Rd.</address>
        <city>Menlo Park</city>
        <state>CA</state>
        <zip>94025</zip>
        <contract>true</contract>
      </authors>
      <authors>
        <au_id>213-46-8915</au_id>
        <au_lname>Green</au_lname>
        <au_fname>Margie</au_fname>
        <phone>415 986-7020</phone>
        <address>309 63rd St. #411</address>
        <city>Oakland</city>
        <state>CA</state>
        <zip>94618</zip>
        <contract>true</contract>
      </authors>
      <authors>
        <au_id>238-95-7766</au_id>
        <au_lname>Carson</au_lname>
        <au_fname>Cheryl</au_fname>
        <phone>415 548-7723</phone>
        <address>589 Darwin Ln.</address>
        <city>Berkeley</city>
        <state>CA</state>
        <zip>94705</zip>
        <contract>true</contract>
      </authors>
      <authors>
        <au_id>267-41-2394</au_id>
        <au_lname>Hunter</au_lname>
        <au_fname>Anne</au_fname>
        <phone>408 286-2428</phone>
        <address>22 Cleveland Av. #14</address>
        <city>San Jose</city>
        <state>CA</state>
        <zip>95128</zip>
        <contract>true</contract>
      </authors>
      <authors>
        <au_id>274-80-9391</au_id>
        <au_lname>Straight</au_lname>
        <au_fname>Dean</au_fname>
        <phone>415 834-2919</phone>
        <address>5420 College Av.</address>
        <city>Oakland</city>
        <state>CA</state>
        <zip>94609</zip>
        <contract>true</contract>
      </authors>
    </Authors_Table>
    
  4. Dosya menüsünde authors.xmlKaydet'i seçin.

Kullanıcı arabirimini oluşturma

Bu uygulamanın kullanıcı arabirimi aşağıdakilerden oluşur:

  • DataGridView XML dosyasının içeriğini veri olarak görüntüleyen denetim.

  • TextBox XML dosyasının XML Şemasını görüntüleyen denetim.

  • İki Button denetim.

    • Bir düğme, XML dosyasını veri kümesine aktarır ve onu DataGridView denetiminde görüntüler.

    • İkinci bir düğme, şemayı veri kümesinden ayıklar ve StringWriter aracılığıyla TextBox kontrolünde görüntüler.

Forma denetim eklemek için

  1. Tasarım görünümünde Form1 açın.

  2. Araç Kutusu'ndan aşağıdaki denetimleri forma sürükleyin:

  3. Aşağıdaki özellikleri ayarlayın:

    Yönetim Mülkiyet Ayarlar
    TextBox1 Çok Satırlı true
    ScrollBars Dikey
    Button1 İsim ReadXmlButton
    Metin Read XML
    Button2 İsim ShowSchemaButton
    Metin Show Schema

XML verilerini alan veri kümesini oluşturma

Bu adımda adlı authorsyeni bir veri kümesi oluşturursunuz. Veri kümeleri hakkında daha fazla bilgi için bkz. Visual Studio'da veri kümesi araçları.

  1. Çözüm Gezgini'ndeForm1 için kaynak dosyayı seçin ve ardından Çözüm Gezgini araç çubuğunda Tasarımcıyı Görüntüle düğmesini seçin.

  2. Araç Kutusu, Veri sekmesinden, Bir DataSet'iForm1'e sürükleyin.

  3. Veri Kümesi Ekle iletişim kutusunda, Yazılmamış veri kümesi'ni ve ardından Tamam'ı seçin.

    DataSet1 bileşen tepsisine eklenir.

  4. Özellikler penceresinde AuthorsDataSet için Ad ve DataSetName özelliklerini ayarlayın.

XML dosyasını veri kümesine okumak için olay işleyicisini oluşturma

XML Oku düğmesi, XML dosyasını veri kümesine okur. Daha sonra DataGridView kontrolünde onu veri kümesine bağlayan özellikleri ayarlar.

  1. Çözüm Gezgini'ndeForm1'i seçin ve ardından Çözüm Gezgini araç çubuğunda Tasarımcıyı Görüntüle düğmesini seçin.

  2. XML Oku düğmesine çift tıklayın.

    Kod Düzenleyicisi olay işleyicisinde ReadXmlButton_Click açılır.

  3. Olay işleyicisine ReadXmlButton_Click aşağıdaki kodu yazın:

    private void ReadXmlButton_Click(object sender, EventArgs e)
    {
        string filePath = "Complete path where you saved the XML file";
    
        AuthorsDataSet.ReadXml(filePath);
    
        dataGridView1.DataSource = AuthorsDataSet;
        dataGridView1.DataMember = "authors";
    }
    
  4. Olay işleyici kodunda ReadXMLButton_Click girişini filepath = doğru yol ile değiştirin.

Metin kutusunda şemayı görüntülemek için olay işleyicisini oluşturma

Şemayı Göster düğmesi, şemayla doldurulmuş ve denetimde TextBox görüntülenen bir StringWriter nesne oluşturur.

  1. Çözüm Gezgini'ndeForm1'i ve ardından Görünüm Tasarımcısı düğmesini seçin.

  2. Şemayı Göster düğmesine çift tıklayın.

    Kod Düzenleyicisi olay işleyicisinde ShowSchemaButton_Click açılır.

  3. Aşağıdaki kodu olay işleyicisine ShowSchemaButton_Click yapıştırın.

    private void ShowSchemaButton_Click(object sender, EventArgs e)
    {
        System.IO.StringWriter swXML = new System.IO.StringWriter();
        AuthorsDataSet.WriteXmlSchema(swXML);
        textBox1.Text = swXML.ToString();
    }
    

Formu test edin

Artık formu test edebilir ve beklendiği gibi davrandığından emin olabilirsiniz.

  1. Uygulamayı çalıştırmak için F5'i seçin.

  2. XML Oku düğmesini seçin.

    DataGridView, XML dosyasının içeriğini görüntüler.

  3. Şemayı Göster düğmesini seçin.

    Metin kutusunda XML dosyasının XML Şeması görüntülenir.

Sonraki Adımlar

Bu izlenecek yol, xml dosyasını veri kümesine okumanın yanı sıra XML dosyasının içeriğine göre bir şema oluşturmanın temellerini öğretir. Bundan sonra gerçekleştirebilecekleri bazı görevler şunlardır:

  • Veri kümesindeki verileri düzenleyin ve XML olarak geri yazın. Daha fazla bilgi için bkz. WriteXml.

  • Veri kümesindeki verileri düzenleyin ve bir veritabanına yazın.