Вход/Регистрация
Обработка баз данных на Visual Basic®.NET
вернуться

Прайс Кевин Т.

Шрифт:

<zip>89076</zip>

 </Stores>

</NewDataSet>

В приведенном примере демонстрируется простейший способ записи данных из объекта DataSet в XML-файл. Помимо этого способа существуют другие варианты записи данных и схемы с помощью перегруженных версий метода WriteXML. Соответствующие им перегруженные версии метода ReadXML содержат второй параметр со значением XmlWriteMode. В табл. 10.2 приведено краткое описание членов перечисления XmlWriteMode.

Таблица 10.2. Перечисление XmlWriteMode 

Имя члена перечисления Описание
DiffGram Записывает данные из объекта DataSet в виде объекта DiffGram с текущими исходными значениями всех записей
WriteSchema Записывает данные из объекта DataSet в XML-формате вместе с их схемой. Если объект DataSet содержит только схему, то записывается только схема. Если в объекте DataSet не определена схема, то ничего не записывается
IgnoreSchema Этот режим используется по умолчанию для записи содержимого объекта DataSet в XML-формате без схемы
НА ЗАМЕТКУ

Объект DataSet имеет методGetXml, который возвращает XML-строку с данными из объекта DataSet. Точно такой же результат можно получить, используя метод со вторым параметром XmlWriteMode, который имеет значение IgnoreSchema. Извлечение данных в виде одной строки иногда позволяет более гибко программировать доступ к данным, но требует больших усилий, особенно если вам нужно всего лишь записать данные в файл. 

Для записи схемы данных из объекта DataSet в отдельном XSD-файле (вместо встраивания ее в данные) предусмотрен метод WriteXmlSchema, который используется так, как показано ниже.

dsSales.WriteXmlSchema

В листинге 10.5 приведено содержимое файла StoreSales.xsd, полученного в результате выполнения этого метода.

Листинг 10.5. Содержимое файла StoreSales.xsd, который является схемой из объекта dsSales

<?xml version="1.0" standalone="yes"?>

<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

 <xs:element name="NewDataSet" msdata:lsDataSet="true">

<xs:complexType>

<xs:choice maxOccurs="unbounded">

<xs:element name="Sales">

<xs:complexType>

<xs:sequence>

<xs:element name="stor_id" type="xs:string" minOccurs="0" />

<xs:element name="ord_num" type="xs:string" minOccurs="0" />

<xs:element name="ord_date" type="xs:dateTime" minOccurs="0" />

<xs:element name="qty" type="xs:short" minOccurs="0" />

<xs:element name="payterms" type="xs:string" minOccurs="0" />

<xs:element name="title_id" type="xs:string" minOccurs="0" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Stores">

<xs:complexType>

<xs:sequence>

<xs:element name="stor_id" type="xs:string" minOccurs="0" />

<xs:element name="stor_name" type="xs:string" minOccurs="0" />

<xs:element name="stor_address" type="xs:string" minOccurs="0" />

<xs:element name="city" type="xs:string" minOccurs="0" />

<xs:element name="state" type="xs:string" minOccurs="0" />

<xs:element name="zip" type="xs:string" minOccurs="0" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:choice>

</xs:complexType>

 </xs:element>

</xs:schema>

Формат DiffCram

Рассмотрим теперь формат DiffGram, который используется членами перечислений XmlReadMode и XmlWriteMode. Это XML-формат, содержащий не только текущие значения элементов-данных, но и их исходные значения, которые были изменены или удалены (вслед за последним вызовом метода AcceptChanges). Итак, DiffGram представляет собой формат сериализации, который используется для передачи данных другому процессу или компьютеру. Поскольку эти данные фактически имеют XML-формат, они могут легко передаваться другим платформам, например UNIX или Linux.

  • Читать дальше
  • 1
  • ...
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: