Поделиться через


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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

    Проект 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 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
    
    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 измените параметр filepath = на правильный путь.

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

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

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

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

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

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

  3. Введите следующий код в обработчик событий ShowSchemaButton_Click:

    Private Sub ShowSchemaButton_Click() Handles ShowSchemaButton.Click
    
        Dim swXML As New System.IO.StringWriter()
        AuthorsDataSet.WriteXmlSchema(swXML)
        TextBox1.Text = swXML.ToString
    End Sub
    
    private void ShowSchemaButton_Click(object sender, EventArgs e)
    {
        System.IO.StringWriter swXML = new System.IO.StringWriter();
        AuthorsDataSet.WriteXmlSchema(swXML);
        textBox1.Text = swXML.ToString();
    }
    

Проверка

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

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

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

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

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

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

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

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

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

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

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

См. также

Основные понятия

Подготовка приложения к получению данных

Другие ресурсы

Пошаговые руководства работы с данными

Доступ к данным в Visual Studio

Средства XML в Visual Studio