Сохранение 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.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

6.1.5. Настройка автосохранения. Сохранение документа в формате MS Word

Из книги Fedora 8 Руководство пользователя автора Колисниченко Денис Николаевич

6.1.5. Настройка автосохранения. Сохранение документа в формате MS Word Обычно стандартные значения параметров программы ОО Writer изменять не требуется, поскольку они устраивают большинство пользователей. Но я все же рекомендую вам изменить интервал автосохранений. Ведь если


6.2.5. Сохранение документов в формате Excel

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

6.2.5. Сохранение документов в формате Excel Если вы часто работаете с электронными таблицами в формате Excel, тогда установите формат Excel в качестве формата по умолчанию. Для этого выберите команду меню Сервис?Параметры, в раскрывшемся окне перейдите в раздел


Роль DataSet

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Роль DataSet Упрощенно говоря, DataSet является представлением внешних данных в памяти. Более точно, DataSet представляет собой тип класса, поддерживающий три внутренние строго типизованные коллекции (рис. 22.11). Рис. 22.11. "Анатомия" DataSetСвойство Tables объекта DataSet позволяет получить


Члены DataSet

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

Члены DataSet Перед погружением в многочисленные детали программирования давайте рассмотрим набор базовых членов DataSet. Кроме свойств Tables, Relations и ExtendedProperties, в табл. 22.9 описаны некоторые другие интересные свойства.Таблица 22.9. Свойства DataSet Свойство Описание CaseSensitive


Добавление DataColumn в DataTable

Из книги автора

Добавление DataColumn в DataTable Тип DataColumn обычно не существует автономно, а добавляется в соответствующий объект DataTable.Для примера создайте новый тип DataTable (подробности будут предложены чуть позже) и вставьте объекты DataColumn в коллекцию) столбцов, используя свойство Columns.static void


Привязка DataTable к интерфейсу пользователя

Из книги автора

Привязка DataTable к интерфейсу пользователя Теперь, когда мы обсудили процесс взаимодействия с DataSets в общем, давайте рассмотрим соответствующий пример приложения Windows Forms. Нашей целью является построение формы, отображающей содержимое DataTable в рамках элемента управления


Доступ к типам DataSet ADO.NET

Из книги автора

Доступ к типам DataSet ADO.NET Чтобы завершить создание нашего Web-сервиса XML, вот вам еще един Web-метод, который возвращает DataSet с данными таблицы Inventory базы данных Cars, созданной при изучении ADO.NET в главе 22.// Получение списка всех машин из таблицы Inventory.[WebMethod(Description = "Возвращает


ГЛАВА 5 ADO.NET: объект DataSet

Из книги автора

ГЛАВА 5 ADO.NET: объект DataSet Объект DataSet является центральным и наиболее революционным элементом модели доступа к данным ADO.NET. По сути, это кэш-область в оперативной памяти для данных из одного или нескольких источников. Его можно представить как полноценную базу данных,


Компоненты объекта DataSet

Из книги автора

Компоненты объекта DataSet Объект DataSet является ключевым объектом ADO.NET и служит универсальным контейнером данных, независимо от используемого источника данных. Объект DataSet и связанные с ним подчиненные объекты предлагают реляционное представление данных, хотя он также


Применение объекта DataSet

Из книги автора

Применение объекта DataSet Панель элементов управления Data среды Visual Studio .NET содержит компонент DataSet, который позволяет задавать значения свойств для набора данных с помощью окна свойств Properties вместо создания специального кода. Этот способ работы с компонентом DataSet


13.4.1. Сохранение документа в формате MS Word

Из книги автора

13.4.1. Сохранение документа в формате MS Word Для сохранения документа нажмите комбинацию клавиш Ctrl+S (или выполните команду меню Файл, Сохранить или нажмите кнопку с изображением дискетки на стандартной панели инструментов — как вам больше нравится). Если вы ни разу еще не


13.4.4. Сохранение документа в другом формате

Из книги автора

13.4.4. Сохранение документа в другом формате По умолчанию документы сохраняются в родном формате MS Word. Формат документа современных версий MS Word совместим с довольно старым форматом MS Word 97. Другими словами, если кто-то из ваших друзей до сих пор работает в Windows 95/98 с офисным