Odczytywanie danych XML do zestawu danych w aplikacjach .NET Framework

Uwaga

Zestawy danych i powiązane klasy to starsze technologie .NET Framework z początku 2000 roku, które umożliwiają aplikacjom pracę z danymi w pamięci, gdy aplikacje są odłączone od bazy danych. Są one szczególnie przydatne w przypadku aplikacji, które umożliwiają użytkownikom modyfikowanie danych i utrwalanie zmian z powrotem w bazie danych. Mimo że zestawy danych okazały się bardzo udaną technologią, zalecamy, aby nowe aplikacje platformy .NET używały platformy Entity Framework Core. Program Entity Framework zapewnia bardziej naturalny sposób pracy z danymi tabelarycznymi jako modelami obiektów i ma prostszy interfejs programowania.

ADO.NET udostępnia proste metody pracy z danymi XML. W tym przewodniku utworzysz aplikację systemu Windows, która ładuje dane XML do zestawu danych. Zestaw danych jest następnie wyświetlany w kontrolce DataGridView . Na koniec schemat XML oparty na zawartości pliku XML jest wyświetlany w polu tekstowym.

Wymagania wstępne

Do ukończenia tego samouczka potrzebny jest program Visual Studio z zainstalowanymi następującymi obciążeniami:

  • Programowanie aplikacji klasycznych platformy .NET
  • Przechowywanie i przetwarzanie danych

Aby je zainstalować, otwórz Instalator programu Visual Studio i wybierz pozycję Modyfikuj (lub Więcej>modyfikacji) obok wersji programu Visual Studio, którą chcesz zmodyfikować. Zobacz Modyfikowanie programu Visual Studio.

Tworzenie nowego projektu

Utwórz nowy projekt aplikacji Windows Forms dla języka C# lub Visual Basic. Nadaj projektowi nazwę ReadingXML.

Generowanie pliku XML do odczytu do zestawu danych

Ponieważ ten przewodnik koncentruje się na odczytywaniu danych XML do zestawu danych, udostępniana jest zawartość pliku XML.

  1. W menu Project (Projekt) wybierz pozycję Add New Item (Dodaj nowy element).

  2. Wybierz pozycję Plik XML, nadaj plikowi nazwę authors.xml, a następnie wybierz pozycję Dodaj.

    Plik XML jest ładowany do projektanta i jest gotowy do edycji.

  3. Wklej następujące dane XML do edytora poniżej deklaracji XML:

    <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. W menu Plik wybierz pozycję Zapisz authors.xml.

Tworzenie interfejsu użytkownika

Interfejs użytkownika dla tej aplikacji składa się z następujących elementów:

  • Kontrolka DataGridView , która wyświetla zawartość pliku XML jako dane.

  • Kontrolka TextBox , która wyświetla schemat XML dla pliku XML.

  • Dwie Button kontrolki.

    • Jeden przycisk odczytuje plik XML do zestawu danych i wyświetla go w kontrolce DataGridView .

    • Drugi przycisk wyodrębnia schemat z zestawu danych, a następnie wyświetla StringWriter go w kontrolce TextBox .

Aby dodać kontrolki do formularza

  1. Otwórz Form1 w widoku projektu.

  2. Z przybornika przeciągnij następujące kontrolki na formularz:

  3. Określ następujące właściwości:

    Kontrolka Właściwości Ustawienie
    TextBox1 Wielowierszowego true
    Scrollbars Pionowe
    Button1 Nazwa/nazwisko ReadXmlButton
    Tekst Read XML
    Button2 Nazwa/nazwisko ShowSchemaButton
    Tekst Show Schema

Tworzenie zestawu danych odbierających dane XML

W tym kroku utworzysz nowy zestaw danych o nazwie authors. Aby uzyskać więcej informacji na temat zestawów danych, zobacz Narzędzia zestawu danych w programie Visual Studio.

  1. W Eksplorator rozwiązań wybierz plik źródłowy formularza Form1, a następnie wybierz przycisk Wyświetl Projektant na pasku narzędzi Eksplorator rozwiązań.

  2. Na karcie Przybornik dane przeciągnij zestaw danych na formę Form1.

  3. W oknie dialogowym Dodawanie zestawu danych wybierz pozycję Nietypowy zestaw danych, a następnie wybierz przycisk OK.

    Element DataSet1 jest dodawany do zasobnika składnika.

  4. W oknie Właściwości ustaw wartość Name (Nazwa) i DataSetName properties (Właściwości) dla elementu AuthorsDataSet.

Utwórz procedurę obsługi zdarzeń, aby odczytać plik XML do zestawu danych

Przycisk Odczytaj kod XML odczytuje plik XML do zestawu danych. Następnie ustawia właściwości kontrolki powiązanej DataGridView z zestawem danych.

  1. W Eksplorator rozwiązań wybierz pozycję Formularz1, a następnie wybierz przycisk Wyświetl Projektant na pasku narzędzi Eksplorator rozwiązań.

  2. Kliknij dwukrotnie przycisk Odczytaj kod XML .

    Edytor kodu otwiera się w procedurze ReadXmlButton_Click obsługi zdarzeń.

  3. Wpisz następujący kod w procedurze obsługi zdarzeń ReadXmlButton_Click :

    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. W kodzie procedury obsługi zdarzeń ReadXMLButton_Click zmień filepath = wpis na poprawną ścieżkę.

Utwórz procedurę obsługi zdarzeń, aby wyświetlić schemat w polu tekstowym

Przycisk Pokaż schemat tworzy StringWriter obiekt wypełniony schematem i jest wyświetlany w kontrolce TextBox .

  1. W Eksplorator rozwiązań wybierz pozycję Formularz1, a następnie wybierz przycisk Wyświetl Projektant.

  2. Kliknij dwukrotnie przycisk Pokaż schemat.

    Edytor kodu otwiera się w procedurze ShowSchemaButton_Click obsługi zdarzeń.

  3. Wklej następujący kod do procedury obsługi zdarzeń ShowSchemaButton_Click .

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

Testowanie formularza

Teraz możesz przetestować formularz, aby upewnić się, że działa zgodnie z oczekiwaniami.

  1. Wybierz klawisz F5 , aby uruchomić aplikację.

  2. Wybierz przycisk Odczytaj kod XML .

    Element DataGridView wyświetla zawartość pliku XML.

  3. Wybierz przycisk Pokaż schemat.

    W polu tekstowym zostanie wyświetlony schemat XML dla pliku XML.

Następne kroki

W tym przewodniku przedstawiono podstawy odczytywania pliku XML do zestawu danych, a także tworzenia schematu na podstawie zawartości pliku XML. Poniżej przedstawiono kilka zadań, które można wykonać w następnej kolejności:

  • Zmodyfikuj dane w zestawie danych i zapisz je z powrotem jako kod XML. Aby uzyskać więcej informacji, zobacz WriteXml.

  • Edytuj dane w zestawie danych i zapisz je w bazie danych.