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

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

Жанры

C# для профессионалов. Том II

Ватсон Карли

Шрифт:

ds.WriteXml("с:\\test\\sample.xml" , XmlWriteMode, WriteSchema);

…создается следующий XML. Отметим, что мы включили в документ схему XSD. Если нежелательно, чтобы схема включалась в файл, то можно передать член перечисления

XmlWriteMode.IgnoreSchema
:

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

<XMLProducts>

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

<xsd:element name="XMLProducts" msdata:IsDataSet="true">

<xsd:complexType>

<xsd:choice maxOccurs="unbounded">

<xsd:element name="products">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="ProductID" type="xsd:int" minOccurs="0" />

<xsd:element name="ProductName" type="xsd:string" minOccurs="0" />

<xsd:element name="SupplierID" type="xsd:int" minOccurs ="0" />

<xsd:element name="CategoryID" type="xsd:int" minOccurs="0" />

<xsd:element name="QuantityPerUnit" type="xsd:string" minOccurs="0" />

<xsd:element name="UnitPrice" type="xsd:decimal" minOccurs="0" />

<xsd:element name="UnitsInStock" type="xsd:short" minOccurs="0" />

<xsd:element name="UnitsOnOrder" type="xsd:short" minOccurs="0" />

<xsd:element name="ReorderLevel" type="xsd:short" minOccurs="0" />

<xsd:element name="Discontinued" type="xsd:boolean" minOccurs="0" />

</xsd:sequence>

</xsd:сomplexType>

</xsd:element>

</xsd:choice>

</xsd:complexType>

</xsd:element>

 </xsd:schema>

 <products>

<ProductID>1</ProductID>

<ProductName>Chai</ProductName>

<SupplierID>1</SupplierID>

<CategoryID>1</CategoryID>

<QuantityPerUnit>10 boxes x 20 bags</QuantityPerUnit>

<UnitPrice>18</UnitPrice>

<UnitsInStock>39</UnitsInStock>

<UnitsOnOrder>0</UnitsOnOrder>

<ReorderLevel>10</ReorderLevel>

<Discontinued>false</Discontinued>

 </products>

 <products>

<ProductID>2</ProductID>

<ProductName>Chang</ProductName>

<SupplierID>1</SupplierID>

<CategoryID>1</CategoryID>

<QuantityPerUnit>24 - 12 oz bottles</QuantityPerUnit>

<Unitprice>19</UnitPrice>

<UnitsInStock>17</UnitsInStock>

<UnitsOnOrder>40</UnitsOnOrder>

<ReorderLevel>25</ReorderLevel>

<Discontinued>false</Discontinued>

 </products>

</XMLProducts>

Показаны

только два первых продукта. Реальный файл XML будет содержать все продукты из таблицы
Products
базы данных
Northwind
.

Это выглядит достаточно просто для одной таблицы, но что будет для реляционных данных, таких как несколько

DataTables
и
Relations
в
DataSet
? Все по-прежнему работает таким же образом. Внесем следующие изменения в коде (эту версию можно найти в
ADOSample3
):

private void button1_Click(object sender, System.EventArgs e) {

 //создать множество данных (DataSet)

 DataSet ds=new DataSet("XMLProducts");

 // соединиться с базой данных northwind и

 //выбрать все строки из таблицы products и таблицы suppliers

 //проверьте, что строка соединения соответствует конфигурации сервера

 SqlConnection conn=

new SqlConnection(@"server=GLYNNJ_CS\NetSDK;uid=sa;pwd=;database=northwind");

 SqlDataAdapter daProd=new SqlDataAdapter("select * from products", conn);

 SqlDataAdapter daSup=new SqlDataAdapter("select * from suppliers", conn);

 //Заполнить DataSet из обоих SqlAdapters

 daProd.Fill(ds, "products");

 daSup.Fill(ds, "suppliers");

 //Добавить отношение

 ds.Relations.Add(ds.Tables["suppliers"].Columns["SupplierId"],

ds.Tables["products"].Columns["SupplierId"]);

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

Лишняя дочь

Nata Zzika
Любовные романы:
любовно-фантастические романы
8.22
рейтинг книги
Лишняя дочь

Маверик

Астахов Евгений Евгеньевич
4. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Маверик

Мужчина моей судьбы

Ардова Алиса
2. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.03
рейтинг книги
Мужчина моей судьбы

Развод, который ты запомнишь

Рид Тала
1. Развод
Любовные романы:
остросюжетные любовные романы
короткие любовные романы
5.00
рейтинг книги
Развод, который ты запомнишь

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

Винокуров Юрий
14. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XIV

Столкновение

Хабра Бал
1. Вне льда
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Столкновение

Черный маг императора

Герда Александр
1. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Черный маг императора

Кодекс Крови. Книга V

Борзых М.
5. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга V

Любимая учительница

Зайцева Мария
1. совершенная любовь
Любовные романы:
современные любовные романы
эро литература
8.73
рейтинг книги
Любимая учительница

Адвокат империи

Карелин Сергей Витальевич
1. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
5.75
рейтинг книги
Адвокат империи

Боярышня Дуняша 2

Меллер Юлия Викторовна
2. Боярышня
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Боярышня Дуняша 2

Убивать чтобы жить 9

Бор Жорж
9. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 9

Новый Рал 7

Северный Лис
7. Рал!
Фантастика:
попаданцы
5.00
рейтинг книги
Новый Рал 7

Боги, пиво и дурак. Том 3

Горина Юлия Николаевна
3. Боги, пиво и дурак
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Боги, пиво и дурак. Том 3