Пошаговое руководство. Считывание XML-данных в набор данных
ADO.NET предоставляет простые методы обработки XML-данных. В этом пошаговом руководстве описывается создание приложения Windows, загружающего XML-данные в набор данных. Набор данных будет затем показан в DataGridView. В конце примера в текстовом поле поле отображается схема XML на основе содержимого файла XML.
Пример включает в себя пять основных этапов:
Создание нового проекта.
Создание файла XML, считываемого в набор данных.
Создание пользовательского интерфейса
Создание набора данных, чтение XML-файла и отображение его в элементе управления DataGridView.
Добавление кода для отображения XML-схемы, основанной на XML-файле, в элементе управления TextBox.
Примечание
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, в меню Сервис выберите команду Импорт и экспорт параметров.Дополнительные сведения см. в разделе Настройка параметров разработки в Visual Studio.
Создание нового проекта
На данном этапе создается проект Visual Basic или Visual C#, в рамках которого будет реализован этот пример.
Чтобы создать новый проект Windows
В меню Файл создайте новый проект.
Назовите проект ReadingXML.
Выберите Приложение Windows и нажмите кнопку OK. Дополнительные сведения см. в разделе Разработка клиентских приложений с использованием .NET Framework.
Проект ReadingXML создан и добавлен в "Обозреватель решений".
Создание файла XML, считываемого в набор данных.
Поскольку в пошаговом руководстве основной упор делается на считывание данных XML в набор данных, предоставляется содержимое некоторого файла XML.
Создание файла XML, считываемого в набор данных.
В меню Проект выберите Добавить новый элемент.
Выберите пункт XML-файл, назовите файл authors.xml и нажмите кнопку Добавить.
Файл XML загрузится в конструктор в режиме редактирования.
Вставьте следующий код в редактор после объявления 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>
В меню Файл выберите Сохранить authors.xml.
Создание пользовательского интерфейса
Ниже перечислены элементы, образующие пользовательский интерфейс создаваемого приложения:
Элемент управления DataGridView, отображающий содержимое файла XML в виде данных.
Элемент управления TextBox, отображающий схему XML файла XML.
Два элемента управления Button.
Первая кнопка инициирует считывание файла XML в набор данных и отображение его в элементе управления DataGridView.
Нажатием второй кнопки извлекается схема из набора данных, и через StringWriter она отображается в элементе управления TextBox.
Для добавления элементов управления в форму:
Откройте Form1 в Конструкторе.
Из Панели элементов перетащите на форму следующие элементы управления:
Один элемент управления DataGridView
Один элемент управления TextBox
Два элемента управления Button
Задайте следующие свойства:
Элемент управления
Свойство.
Параметр
TextBox1
Multiline
true
ScrollBars
Вертикальный
Button1
Имя
ReadXmlButton
Текст
Прочитать XML
Button2
Имя
ShowSchemaButton
Текст
Показать схему
Создание набора данных, получающего данные XML
В следующей процедуре будет создан новый набор данных с именем authors. За дополнительными сведениями о наборах данных обратитесь к разделу Работа с наборами данных в Visual Studio.
Для создания нового набора данных, который будет получать XML-данные:
Выбрав исходный файл для Form1 в обозревателе решений, нажмите кнопку Открыть в конструкторе в панели инструментов обозревателя решений.
Перетащите Набор данных из Вкладка "Данные", панель элементов на Form1.
Выберите Нетипизированный набор данных на Добавление набора данных диалоговое окно " и нажмите кнопку ОК.
Dataset1 добавляется в область компонентов.
В окне Свойства задайте свойствам Имя и DataSetName значение AuthorsDataSet.
Создание обработчика событий, считывающего XML в набор данных
Кнопка Прочитать XML инициирует считывание файла XML в набор данных и задает свойства элемента управления DataGridView, определяющие его привязку к набору данных.
Добавление кода в обработчик событий ReadXmlButton_Click
В обозревателе решений выберите Form1 и нажмите кнопку Открыть в конструкторе в панели инструментов обозревателя решений.
Дважды щелкните кнопку Прочитать XML.
Редактор кода откроется на обработчике событий ReadXmlButton_Click.
Введите следующий код в обработчик событий 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"; }
В коде обработчика событий ReadXMLButton_Click измените параметр filepath = на правильный путь.
Создание обработчика событий, отображающего схему XML в текстовом поле
Кнопка Показать схему создает объект StringWriter, который заполняется схемой и отображается в TextBox.
Добавление кода в обработчик событий ShowSchemaButton_Click.
В обозревателе решений выберите Form1 и нажмите кнопку Открыть в конструкторе.
Дважды щелкните кнопку Показать схему.
Редактор кода откроется на обработчике событий ShowSchemaButton_Click.
Введите следующий код в обработчик событий 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(); }
Проверка
Теперь можно проверить форму, чтобы убедиться, что она работает так, как ожидалось.
Чтобы проверить форму, выполните следующие действия:
Нажмите клавишу F5 для запуска приложения.
Нажмите кнопку Прочитать XML.
Сетка данных DataGridView заполнится содержимым файла XML.
Нажмите кнопку Показать схему.
В текстовом поле отобразится схема XML для файла XML.
Следующие действия
В настоящем пошаговом руководстве продемонстрирована основная методика считывания файла XML в набор данных и создания схемы на основе содержимого файла XML. Далее будут рассмотрены следующие задачи:
Редактирование записей набора данных и сохранение их в формате XML. Дополнительные сведения см. в разделе WriteXml.
Редактирование записей набора данных и сохранение их в базе данных. Дополнительные сведения см. в разделе Сохранение данных.
См. также
Основные понятия
Подготовка приложения к получению данных
Другие ресурсы
Пошаговые руководства работы с данными