Пошаговое руководство. Считывание XML-данных в набор данных

 

Опубликовано: Апрель 2016

ADO.NET предоставляет простые методы обработки XML-данных. В этом пошаговом руководстве описывается создание приложения Windows, загружающего XML-данные в набор данных. Набор данных будет затем показан в DataGridView. В конце примера в текстовом поле поле отображается схема XML на основе содержимого файла XML.

Пример включает в себя пять основных этапов:

  1. Создание нового проекта.

  2. Создание файла XML, считываемого в набор данных.

  3. Создание пользовательского интерфейса

  4. Создание набора данных, чтение XML-файла и отображение его в элементе управления DataGridView.

  5. Добавление кода для отображения XML-схемы, основанной на XML-файле, в элементе управления TextBox.

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска. Чтобы изменить параметры, в меню Сервис выберите команду Импорт и экспорт параметров. Дополнительные сведения см. в разделе Customizing Development Settings in Visual Studio.

Создание нового проекта

На данном этапе создается проект Visual Basic или Visual C#, в рамках которого будет реализован этот пример.

Чтобы создать новый проект Windows

  1. В меню Файл создайте новый проект.

  2. Назовите проект ReadingXML.

  3. Выберите Приложение Windows и нажмите кнопку OK. Дополнительные сведения см. в разделе Клиентские приложения.

    Проект ReadingXML создан и добавлен в "Обозреватель решений".

Создание файла XML, считываемого в набор данных.

Поскольку в пошаговом руководстве основной упор делается на считывание данных XML в набор данных, предоставляется содержимое некоторого файла XML.

Создание файла XML, считываемого в набор данных.

  1. В меню Проект выберите Добавить новый элемент.

  2. Выберите пункт XML-файл, назовите файл authors.xml и нажмите кнопку Добавить.

    Файл XML загрузится в конструктор в режиме редактирования.

  3. Вставьте следующий код в редактор после объявления 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. В меню Файл выберите Сохранить authors.xml.

Создание пользовательского интерфейса

Ниже перечислены элементы, образующие пользовательский интерфейс создаваемого приложения:

  • Элемент управления DataGridView, отображающий содержимое файла XML в виде данных.

  • Элемент управления TextBox, отображающий схему XML файла XML.

  • Два элемента управления Button.

    • Первая кнопка инициирует считывание файла XML в набор данных и отображение его в элементе управления DataGridView.

    • Нажатием второй кнопки извлекается схема из набора данных, и через StringWriter она отображается в элементе управления TextBox.

Для добавления элементов управления в форму:

  1. Откройте Form1 в Конструкторе.

  2. Из Панели элементов перетащите на форму следующие элементы управления:

    • Один элемент управления DataGridView

    • Один элемент управления TextBox

    • Два элемента управления Button

  3. Задайте следующие свойства:

    Элемент управления Свойство. Параметр
    TextBox1 Multiline true
    ScrollBars Вертикальный
    Button1 Имя ReadXmlButton
    Текст Прочитать XML
    Button2 Имя ShowSchemaButton
    Текст Показать схему

Создание набора данных, получающего данные XML

В следующей процедуре будет создан новый набор данных с именем authors. За дополнительными сведениями о наборах данных обратитесь к разделу Работа с наборами данных в Visual Studio.

Для создания нового набора данных, который будет получать XML-данные:

  1. Выбрав исходный файл для Form1 в обозревателе решений, нажмите кнопку Открыть в конструкторе в панели инструментов обозревателя решений.

  2. Перетащите Набор данных из Вкладка "Данные", панель элементов на Form1.

  3. Выберите Нетипизированный набор данных на Добавление набора данных диалоговое окно " и нажмите кнопку ОК.

    Dataset1 добавляется в область компонентов.

  4. В окне Свойства задайте свойствам Имя и DataSetName значение AuthorsDataSet.

Создание обработчика событий, считывающего XML в набор данных

Кнопка Прочитать XML инициирует считывание файла XML в набор данных и задает свойства элемента управления DataGridView, определяющие его привязку к набору данных.

Добавление кода в обработчик событий ReadXmlButton_Click

  1. В обозревателе решений выберите Form1 и нажмите кнопку Открыть в конструкторе в панели инструментов обозревателя решений.

  2. Дважды щелкните кнопку Прочитать XML.

    Редактор кода откроется на обработчике событий ReadXmlButton_Click.

  3. Введите следующий код в обработчик событий 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";
            }
    
        Private Sub ReadXmlButton_Click() Handles ReadXmlButton.Click
    
            Dim filePath As String = "Complete path where you saved the XML file"
    
            AuthorsDataSet.ReadXml(filePath)
    
            DataGridView1.DataSource = AuthorsDataSet
            DataGridView1.DataMember = "authors"
        End Sub
    
  4. В коде обработчика событий ReadXMLButton_Click измените параметр filepath = на правильный путь.

Создание обработчика событий, отображающего схему XML в текстовом поле

Кнопка Показать схему создает объект StringWriter, который заполняется схемой и отображается в TextBox.

Добавление кода в обработчик событий ShowSchemaButton_Click.

  1. В обозревателе решений выберите Form1 и нажмите кнопку Открыть в конструкторе.

  2. Дважды щелкните кнопку Показать схему.

    Редактор кода откроется на обработчике событий ShowSchemaButton_Click.

  3. Введите следующий код в обработчик событий 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();
            }
    
        Private Sub ShowSchemaButton_Click() Handles ShowSchemaButton.Click
    
            Dim swXML As New System.IO.StringWriter()
            AuthorsDataSet.WriteXmlSchema(swXML)
            TextBox1.Text = swXML.ToString
        End Sub
    

Проверка

Теперь можно проверить форму, чтобы убедиться, что она работает так, как ожидалось.

Чтобы проверить форму, выполните следующие действия:

  1. Нажмите клавишу F5 для запуска приложения.

  2. Нажмите кнопку Прочитать XML.

    Сетка данных DataGridView заполнится содержимым файла XML.

  3. Нажмите кнопку Показать схему.

    В текстовом поле отобразится схема XML для файла XML.

Следующие действия

В настоящем пошаговом руководстве продемонстрирована основная методика считывания файла XML в набор данных и создания схемы на основе содержимого файла XML. Далее будут рассмотрены следующие задачи:

  • Редактирование записей набора данных и сохранение их в формате XML. Дополнительные сведения см. в разделе WriteXml.

  • Редактирование записей набора данных и сохранение их в базе данных. Дополнительные сведения см. в разделе Сохранение данных.

См. также

Пошаговые руководства работы с данными
Доступ к данным в Visual Studio
Подготовка приложения к получению данных
Средства XML в Visual Studio