Результатом его будет следующая таблица:
totalposts
|
16688
|
10116
|
5001
|
6606
|
Не советую использовать подобный метод в рабочих
проектах, и не только потому, что он неэффективен (как видно из примера, XML-документ сканируется дважды). Рассмотрим пример, выдающий тот же самый
результат с использованием XPath.
exec
sp_xml_preparedocument @hdoc out, @_xmlbody
select
*
from openxml(@hdoc,'/rsdn/forums/forum')
with(totalposts varchar(100)
'attribute::totalposts')
exec
sp_xml_removedocument @hdoc
|
Здесь, чтобы ограничить реляционный набор строк, я
воспользовался XPath-выражением.
Выражение attribute::totalposts означает, что для поля
totalposts будет использоваться значение одноименного атрибута. Гораздо чаще в
XPath-выражениях используется сокращенная запись:
«attribute::» можно заменить символом @;
«self::node()» можно заменить на точку (.);
«parent::node()» можно заменить на две точки (..).
Другие сокращения можно найти в спецификации XPath.
Давайте рассмотрим более сложный пример: выберем
название форума, модератора и дату создания статистики для всех форумов, у
которых больше 6000 сообщений.
Рекомендуем скачать другие рефераты по теме: права человека реферат, реферат влияние.
Предыдущая страница реферата |
9
10
11
12
13
14
15
16
17
18
19 |
Следующая страница реферата