Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Сохранение DataSet (и DataTable) в формате XML
Сохранение DataSet (и DataTable) в формате XML
В завершение рассмотрения текущего примера напомним, что как DataSet, так и DataTable предлагают поддержку методов WriteXml() и ReadXml(). Метод WriteXml() позволяет сохранить содержимое объекта в локальном файле (или вообще в любом типе System.IO.Stream) в виде XML-документа. Метод ReadXml() позволяет прочитать информацию о состоянии DataSet (или DataTable) из имеющегося XML-документа. Кроме того, как DataSet, так и DataTable поддерживают WriteXmlSchema() и ReadXmlSchema() для сохранения и загрузки файлов *.xsd. Чтобы это проверить, добавьте в метод Main() следующий набор операторов.
static void Main(string [] args) {
…
// Сохранение DataSet в виде XML.
carsInventoryDS.WriteXml("carsDataSet.xml");
carsInventoryDS.WriteXmlSchema("carsDataSet.xsd");
// Очистка DataSet и вывод содержимого (должно быть пустым).
carsInventoryDS.Сlear();
PrintDataSet(carsInventoryDS);
// Загрузка и печать DataSet.
carsInventoryDS.ReadXml("carsDataSet.xml");
PrintDataSet(carsInventoryDS);
}
Если открыть сохраненный файл carsDataSet.xml, вы увидите, что в нем представлены все столбцы таблицы, закодированные в виде XML-элементов.
‹?xml version="1.0" standalone="yes"?›
‹Car_x0020_Inventory›
‹Inventory›
‹CarID›0‹/CarID›
‹Make›BMW‹/Make›
‹Color›черный‹/Color›
‹PetName›Hamlet‹/PetName›
‹/Inventory›
‹Inventory›
‹CarID›1‹/CarID›
‹Make›Saab‹/Make›
‹Color›красный‹/Color›
‹PetName›Sea Brеeze‹/PеtName›
‹/Inventory›
‹/Car_x0020_Inventory›
Наконец, напомним, что тип DataColumn поддерживает свойство ColumnMapping, которое можно использовать для управления представлением столбца в XML-формате. Значением, устанавливаемым для этого свойства по умолчанию, является MappingType.Element. Однако можно потребовать, чтобы столбец CarID представлялся XML-атрибутом, как это сделано ниже в обновленной версии объекта carIDColumn для DataColumn.
Static void Main(string[] args) {
…
DataColumn carIDColumn = new DataColumn("CarID", typeof(int));
…
carIDColumn.ColumnMapping = MappingType.Attribute;
}
Тогда вы обнаружите следующий XML-код.
‹?xml version="1.0" standalone="yes"?›
‹Car_x0020_Inventory›
‹Inventory CarID="0"›
‹Make›BMW‹/Make›
‹Color›черный‹/Color›
‹PetName›Hamlet‹/PetName›
‹/Inventory›
‹Inventory CarID="1"›
‹Make›Saab‹/Make›
‹Color›красный‹/Color›
‹PetName›Sea Breeze‹/PetName›
‹/Inventory›
‹/Car_x0020_Inventory›
Исходный код. Проект SimpleDataSet размещен в подкаталоге, соответствующем главе 22.
- Высокоуровневое определение ADO.NET
- Поставщики данных ADO.NET
- Дополнительные пространства имен ADO.NET
- Типы System.Data
- Интерфейсы и абстрактные поставщики данных
- Файлы конфигурации и гибкость приложений
- Модель источника поставщика данных .NET 2.0
- Элемент ‹connectionStrings›
- Установка базы данных Cars
- Связный уровень ADO.NET
- Работа с объектами чтения данных
- Изменение содержимого таблиц с помощью объектов команд
- Работа с объектами параметризованных команд
- Выполнение хранимых процедур с помощью DbCommand
- Асинхронный доступ к данным в .NET 2.0
- Несвязный уровень ADO.NET
- Роль DataSet
- Работа с DataColumn
- Работа с DataRow
- Работа с DataTable
- Сохранение DataSet (и DataTable) в формате XML
- Привязка DataTable к интерфейсу пользователя
- Работа с типом DataView
- Работа с адаптерами данных
- Обновление базы данных с помощью объекта адаптера данных
- Генерирование SQL-команд с помощью типов построителя команд
- Объекты DataSet с множеством таблиц и объекты DataRelation
- Возможности мастеров данных
- Резюме
- Сохранение информации о пользователях при миграции
- Тестирование Web-сервиса XML с помощью WebDev.WebServer.exe
- Преобразование XML в реляционную базу данных
- Сохранение информации из Интернета
- Сохранение рабочей книги с именем, представляющим собой текущую дату
- Сохранение и использование шаблона узла
- Время показывается в 12-часовом формате, а мне привычнее 24-часовой. Как это изменить?
- С помощью какой программы можно открыть файл в формате DjVu?
- Как обрезать аудиофайл в формате MP3?
- C помощью какой программы можно просмотреть файл в формате VOB?
- Снял видео сотовым телефоном в формате 3GP. Как теперь просмотреть его на компьютере?
- Сохранение внесенных изменений