Рис. 12.16. Отображение результатов запроса через XML и XSLT

Выполнение XML-запроса

SQL Server 2000 и более поздние версии предоставляют встроенную поддержку XML. Можно выполнить любой запрос и вернуть результат как фрагмент XML, добавляя к запросу конструкцию FOR XML. Это средство полностью независимо от XML-средств DataSet. Однако оно предлагает вам другой способ извлечения данных из одной или более таблиц базы и работы с ними в виде XML.

На заметку! Полученный в результате такого запроса фрагмент содержит корректный синтаксис XML, но не обязательно корректный сам документ, потому что у него нет корневого элемента. XML-документ должен иметь все элементы вложенными в один корневой элемент.

Конструкция FOR XML поддерживает специализированный синтаксис, который позволяет специфицировать точную структуру и наименование результирующего документа. Однако этот синтаксис не соответствует никакому стандарту XML и изрядно запутан. В результате запросы XML часто используют одно из двух представлений XML по умолчанию, которые предусматривает SQL Server. Первое из них — FOR XML AUTO.
Например, если вы исполните такой запрос:

SELECT FirstName, LastName FROM Employees FOR XML AUTO

то получите результат вроде такого:

<Employees FirstName="Nancy" LastName="Davolio"/>
<Employees FirstName="Andrew" LastName="Fuller"/>

предыдущая    следующая страница    вначало главы    оглавление

568

Hosted by uCoz