Чтение XML-данных в набор данных в приложениях платформа .NET Framework
Примечание.
Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.
ADO.NET предоставляет простые методы для работы с XML-данными. В этом пошаговом руководстве вы создадите приложение Windows, которое загружает XML-данные в набор данных. Затем набор данных отображается в элементе DataGridView управления. Наконец, xml-схема на основе содержимого XML-файла отображается в текстовом поле.
Необходимые компоненты
Для работы с этим руководством вам потребуется Visual Studio со следующими рабочими нагрузками:
- Разработка классического приложения .NET.
- Хранение и обработка данных
Чтобы установить их, откройте Visual Studio Installer и нажмите кнопку "Изменить" (или "Изменить>") рядом с версией Visual Studio, которую вы хотите изменить. См. раздел Изменение Visual Studio.
Создание нового проекта
Создайте проект приложения Windows Forms для C# или Visual Basic. Назовите проект ReadingXML.
Создание XML-файла для чтения в набор данных
Так как в этом пошаговом руководстве основное внимание уделяется чтению XML-данных в набор данных, содержимое XML-файла предоставляется.
В меню Проект выберите команду Добавить новый элемент.
Выберите XML-файл, назовите файл authors.xml и нажмите кнопку "Добавить".
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
Текст Read XML
Button2
Имя ShowSchemaButton
Текст Show Schema
Создание набора данных, получающего XML-данные
На этом шаге создается новый набор данных с именем authors
. Дополнительные сведения о наборах данных см. в разделе "Инструменты набора данных" в Visual Studio.
В Обозреватель решений выберите исходный файл формы 1 и нажмите кнопку конструктора представлений на панели инструментов Обозреватель решений.
На панели элементов вкладка "Данные" перетащите набор данных в Form1.
В диалоговом окне "Добавление набора данных" выберите "Нетипизированный набор данных" и нажмите кнопку "ОК".
DataSet1 добавляется в область компонентов.
В окне "Свойства" задайте имя и DataSetName свойства для
AuthorsDataSet
.
Создание обработчика событий для чтения XML-файла в набор данных
Кнопка чтения XML считывает XML-файл в набор данных. Затем он задает свойства элемента DataGridView управления, который привязывает его к набору данных.
В Обозреватель решений выберите Form1 и нажмите кнопку конструктора представлений на панели инструментов Обозреватель решений.
Дважды щелкните кнопку "Чтение XML ".
Редактор кода открывается в обработчике
ReadXmlButton_Click
событий.Введите следующий код в
ReadXmlButton_Click
обработчик событий:В коде обработчика событий измените
ReadXMLButton_Click
filepath =
запись на правильный путь.
Создание обработчика событий для отображения схемы в текстовом поле
Кнопка "Показать схему" создает StringWriter объект, заполненный схемой и отображаемый в элементе TextBox управления.
В Обозреватель решений выберите Form1 и нажмите кнопку конструктора представлений.
Дважды щелкните кнопку "Показать схему ".
Редактор кода открывается в обработчике
ShowSchemaButton_Click
событий.Вставьте в обработчик события
ShowSchemaButton_Click
следующий код.
Проверка формы
Теперь можно протестировать форму, чтобы убедиться, что она работает должным образом.
Выберите F5 , чтобы запустить приложение.
Нажмите кнопку "Чтение XML ".
DataGridView отображает содержимое XML-файла.
Нажмите кнопку "Показать схему ".
Текстовое поле отображает XML-схему для XML-файла.
Следующие шаги
В этом пошаговом руководстве описаны основы чтения XML-файла в набор данных, а также создание схемы на основе содержимого XML-файла. Ниже приведены некоторые задачи, которые можно выполнить следующим образом:
Измените данные в наборе данных и запишите его обратно в формате XML. Дополнительные сведения см. в разделе WriteXml.
Измените данные в наборе данных и запишите их в базу данных.