Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 запрос и шаблон xml  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
так как xml -м мало пользовался в ms sql-е, то есть вопрос -Есть xml шаблон, нужно запросом поставлять результаты селекта в некоторые атрибуты xml-ля. с помощью чего это можно делать в ms sql2008?
4 авг 11, 16:46    [11072166]     Ответить | Цитировать Сообщить модератору
 Re: запрос и шаблон xml  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
в BOL нашел селекты из Xml
sET @doc ='
<ROOT>
<Customers CustomerID="VINET" ContactName="Paul Henriot">
   <Orders CustomerID="VINET" EmployeeID="5" OrderDate=
           "1996-07-04T00:00:00">
      <Order_x0020_Details OrderID="10248" ProductID="11" Quantity="12"/>
      <Order_x0020_Details OrderID="10248" ProductID="42" Quantity="10"/>
   </Orders>
</Customers>
<Customers CustomerID="LILAS" ContactName="Carlos Gonzlez">
   <Orders CustomerID="LILAS" EmployeeID="3" OrderDate=
           "1996-08-16T00:00:00">
      <Order_x0020_Details OrderID="10283" ProductID="72" Quantity="3"/>
   </Orders>
</Customers>
</ROOT>'
--Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
-- SELECT statement that uses the OPENXML rowset provider.
SELECT    *
FROM       OPENXML (@idoc, '/ROOT/Customers')
а как мне сделать инсерт в этот xml
у меня @doc будет шаблон, как мне создать n-е коллличество xml-к на основе шаблона?
4 авг 11, 17:37    [11072644]     Ответить | Цитировать Сообщить модератору
 Re: запрос и шаблон xml  [new]
Glory
Member

Откуда:
Сообщений: 104751
SELECT .... FOR XML
4 авг 11, 17:44    [11072688]     Ответить | Цитировать Сообщить модератору
 Re: запрос и шаблон xml  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Если перевести на человеческий, то:
Вместо слова "шаблон" надо употреблять "структура". Структуру XML описывает язык XSD (XML Schema Definition).

Для преобразования данных в некую структуру, знание только самой структуры бесполезно - ибо этого мало, надо ещё знать как преобразовать, т.е. как связать колонки таблиц с атрибутами тэгов, в вашем случае. Само собой это волшебно не свяжется.
Можно лишь уже сами готовые данные проверить на соответствие структуре.

Используя конструкцию SELECT .... FOR XML вы должны сами написать запрос так, чтобы получался XML нужной вам структуры из текущего набора таблиц (представлений, функций).

Ваш Адмирал.
4 авг 11, 18:29    [11072909]     Ответить | Цитировать Сообщить модератору
 Re: запрос и шаблон xml  [new]
Raoul
Member

Откуда:
Сообщений: 177
Ещё вариант - написать XSLT-шаблон и применить его к результату запроса FOR XML. Правда, на сервере это делать не очень удобно, в приложении проще.
4 авг 11, 18:56    [11073020]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить