Čtení dat XML do datové sady v aplikacích .NET Framework

Poznámka:

Datové sady a související třídy jsou staršími technologiemi rozhraní .NET Framework z počátku 2000, které aplikacím umožňují pracovat s daty v paměti, zatímco aplikace jsou odpojené od databáze. Jsou zvláště užitečné pro aplikace, které uživatelům umožňují upravovat data a uchovávat změny zpět do databáze. I když se datové sady ukázaly jako velmi úspěšná technologie, doporučujeme, aby nové aplikace .NET používaly Entity Framework Core. Entity Framework poskytuje přirozenější způsob práce s tabulkovými daty jako objektovými modely a má jednodušší programovací rozhraní.

ADO.NET poskytuje jednoduché metody pro práci s daty XML. V tomto názorném postupu vytvoříte aplikaci pro Windows, která načítá data XML do datové sady. Datová sada se pak zobrazí v ovládacím DataGridView prvku. Nakonec se schéma XML založené na obsahu souboru XML zobrazí v textovém poli.

Požadavky

K dokončení tohoto kurzu potřebujete sadu Visual Studio s nainstalovanými následujícími úlohami:

  • Vývoj desktopových aplikací .NET
  • Ukládání a zpracování dat

Pokud je chcete nainstalovat, otevřete Instalační program pro Visual Studio a zvolte Upravit (nebo Další>úpravy) vedle verze sady Visual Studio, kterou chcete upravit. Viz Úprava sady Visual Studio.

Vytvoření nového projektu

Vytvořte nový projekt aplikace model Windows Forms pro jazyk C# nebo Visual Basic. Pojmenujte projekt ReadingXML.

Vygenerování souboru XML, který se má načíst do datové sady

Vzhledem k tomu, že se tento názorný postup zaměřuje na čtení dat XML do datové sady, poskytuje se obsah souboru XML.

  1. V nabídce Projekt vyberte Přidat novou položku.

  2. Vyberte Soubor XML, pojmenujte soubor authors.xml a pak vyberte Přidat.

    Soubor XML se načte do návrháře a je připravený k úpravám.

  3. Do editoru pod deklaraci XML vložte následující data 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. V nabídce Soubor vyberte Uložit authors.xml.

Vytvoření uživatelského rozhraní

Uživatelské rozhraní pro tuto aplikaci se skládá z následujících:

  • Ovládací DataGridView prvek, který zobrazuje obsah souboru XML jako data.

  • Ovládací TextBox prvek, který zobrazuje schéma XML pro soubor XML.

  • Dva Button ovládací prvky.

    • Jedno tlačítko přečte soubor XML do datové sady a zobrazí ho v ovládacím DataGridView prvku.

    • Druhé tlačítko extrahuje schéma z datové sady a zobrazí StringWriter ho v ovládacím TextBox prvku.

Přidání ovládacích prvků do formuláře

  1. Otevřete Form1 v návrhovém zobrazení.

  2. Z panelu nástrojů přetáhněte do formuláře následující ovládací prvky:

  3. Nastavte následující vlastnosti:

    Control Vlastnost Nastavení
    TextBox1 Víceřádkové true
    Posuvníky Svislé
    Button1 Název ReadXmlButton
    Text Read XML
    Button2 Název ShowSchemaButton
    Text Show Schema

Vytvoření datové sady, která přijímá data XML

V tomto kroku vytvoříte novou datovou sadu s názvem authors. Další informace o datových sadách najdete v tématu Nástroje datové sady v sadě Visual Studio.

  1. V Průzkumník řešení vyberte zdrojový soubor formuláře Form1 a potom na panelu nástrojů Průzkumník řešení vyberte tlačítko Návrhář zobrazení.

  2. Z panelu nástrojů na kartě Data přetáhněte datovou sadu do formuláře Form1.

  3. V dialogovém okně Přidat datovou sadu vyberte Netypová datová sada a pak vyberte OK.

    DataSet1 se přidá do zásobníku komponent.

  4. V okně Vlastnosti nastavte název a DataSetName vlastnosti pro AuthorsDataSet.

Vytvoření obslužné rutiny události pro čtení souboru XML do datové sady

Tlačítko Číst XML načte soubor XML do datové sady. Potom nastaví vlastnosti DataGridView ovládacího prvku, který ho sváže s datovou sadou.

  1. V Průzkumník řešení vyberte Form1 a potom na panelu nástrojů Průzkumník řešení vyberte tlačítko Návrhář zobrazení.

  2. Poklikejte na tlačítko Číst XML .

    Editor kódu se otevře v obslužné rutině ReadXmlButton_Click události.

  3. Do obslužné rutiny ReadXmlButton_Click události zadejte následující kód:

    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. ReadXMLButton_Click V kódu obslužné rutiny události změňte filepath = položku na správnou cestu.

Vytvoření obslužné rutiny události pro zobrazení schématu v textovém poli

Tlačítko Zobrazit schéma vytvoří StringWriter objekt vyplněný schématem a zobrazí se v ovládacím TextBox prvku.

  1. V Průzkumník řešení vyberte Form1 a pak vyberte tlačítko Návrhář zobrazení.

  2. Poklikejte na tlačítko Zobrazit schéma .

    Editor kódu se otevře v obslužné rutině ShowSchemaButton_Click události.

  3. Do obslužné rutiny události vložte následující kód 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();
    }
    

Vyzkoušení formuláře

Formulář teď můžete otestovat a ujistit se, že se chová podle očekávání.

  1. Výběrem klávesy F5 spusťte aplikaci.

  2. Vyberte tlačítko Číst XML.

    DataGridView zobrazí obsah souboru XML.

  3. Vyberte tlačítko Zobrazit schéma.

    V textovém poli se zobrazí schéma XML pro soubor XML.

Další kroky

V tomto názorném postupu se naučíte základy čtení souboru XML do datové sady a také vytvoření schématu založeného na obsahu souboru XML. Tady je několik úkolů, které můžete udělat dál:

  • Upravte data v datové sadě a zapište je zpět jako XML. Další informace najdete na webu WriteXml.

  • Upravte data v datové sadě a zapište je do databáze.