Чтение онлайн

на главную - закладки

Жанры

Обработка баз данных на Visual Basic®.NET

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

Шрифт:

<stor_address>24-A Avogadro Way</stor_address>

<city>Remulade</city>

<state>WA</state>

<zip>98014</zip>

 </Stores>

 <Stores>

<stor_id>7896</stor_id>

<stor_name>Fricative Bookshop</stor_name>

<stor_address>89 Madison St.</stor_address>

<city>Fremont</city>

<state>CA</state>

<zip>90019</zip>

 </Stores>

 <Stores>

<stor_id>8042</stor_id>

<stor_name>Bookbeat</stor_name>

<stor_address>679 Carson St.</stor_address>

<city>Portland</city>

<state>OR</state>

<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.

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

Матабар. II

Клеванский Кирилл Сергеевич
2. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар. II

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Граф Суворов 7

Шаман Иван
7. Граф Суворов
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Граф Суворов 7

Последний Паладин

Саваровский Роман
1. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин

Седьмая жена короля

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Седьмая жена короля

Новобрачная

Гарвуд Джулия
1. Невеста
Любовные романы:
исторические любовные романы
9.09
рейтинг книги
Новобрачная

Камень Книга двенадцатая

Минин Станислав
12. Камень
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Камень Книга двенадцатая

Газлайтер. Том 19

Володин Григорий Григорьевич
19. История Телепата
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Газлайтер. Том 19

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Страж Кодекса. Книга II

Романов Илья Николаевич
2. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга II

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2

Невеста вне отбора

Самсонова Наталья
Любовные романы:
любовно-фантастические романы
7.33
рейтинг книги
Невеста вне отбора

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Невеста снежного демона

Ардова Алиса
Зимний бал в академии
Фантастика:
фэнтези
6.80
рейтинг книги
Невеста снежного демона