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



>   

>   

>  

>  

>   

>  

>  

>

Изменения включают задание пространства имен сценариев, добавление кода (который скопирован из VS.NET IDE) и выполнение вызова в таблице стилей. Вывод выглядит так же, как и в предыдущем примере.

Ключевой момент, о котором необходимо помнить при выполнении преобразований, состоит в том, чтобы не забыть использовать подходящее хранилище; >XPathDocument, если не требуется редактирование, >XmlDataDocument, если данные получают из ADO.NET, и >XmlDocument, если необходимо иметь возможность редактировать данные. Процесс будет таким же, несмотря ни на что.

XML и ADO.NET

XML является средством, которое связывает ADO.NET с остальным миром. ADO.NET был создан для работы внутри среды XML. XML используется для преобразования данных в и из хранилища данных в приложение или страницу Web. Так как ADO.NET использует XML в качестве транспорта, то данными можно обмениваться с приложениями и системами, которые даже не знают об ADO.NET. Пока обрабатывается XML, они могут совместно использовать данные. ADO.NET может читать документы XML, возвращаемые из этих же приложений. В связи с важностью XML для ADO.NET, существует ряд полезных свойств ADO.NET, которые позволяют чтение и запись документов XML. Пространство имен XML содержит также классы, которые могут потреблять или утилизировать реляционные данные ADO.NET.

Данные ADO.NET в документе XML

Первый пример, который будет рассмотрен, использует потоки ADO.NET и XML для извлечения данных из базы данных >Northwind в >DataSet, загрузки объекта >XmlDocument, содержащего XML, из >DataSet, и загрузки XML в listbox аналогично тому, что делалось ранее. Чтобы выполнить несколько следующих примеров, необходимо добавить инструкции >using:

>using System.Data;

>using System.Xml;

>using System.Data.SqlClient;

>using System.IO;

Также для примеров ADO в формы добавлены >DataGrid, что позволит нам увидеть данные в >DataSet из ADO.NET, так как они ограничены сеткой, а также данные из созданных документов XML, которые загружаются в >listbox. Вот код первого примера, который можно найти в папке >ADOSample1:

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

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

> DataSet ds=new DataSet("XMLProducts");

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