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

Откуда:
Сообщений: 32
Добрый день, помогите, пожалуйста,
как можно из XML такого вида

<ЭКСПОРТИРУЕМЫЕ_ДАННЫЕ>
			<СТРОКА_ДАННЫХ>
				<Sell_Recipe_GUID Значение="{D6A0CCEC-01CB-4B7C-BFB6-63D7425BCEF4}"/>
				<Drugs_GUID Значение="{6DC795D8-FD11-4FEE-8230-4BF2E417B964}"/>
				<Quantity_ME Null="Да"/>
				<Drug_Dose Null="Да"/>
				<Price_Drug Значение="9"/>
				<Quantity Значение="6"/>
				<Max_Price Значение="200000"/>
				<Quantity_In_Package Значение="1"/>
				<Packages_Trunc_Quantity Значение="6"/>
				<Packages_Total Значение="6"/>
				<GUID Значение="{A40AF0A6-B006-4A63-B798-D400734ED7E3}"/>
			</СТРОКА_ДАННЫХ>
			<СТРОКА_ДАННЫХ>
				<Sell_Recipe_GUID Значение="{D74D9F13-6CFF-4BB0-8DA1-49A4895368E3}"/>
				<Drugs_GUID Значение="{37CD381C-741C-472B-A45E-F2AA85B13BAC}"/>
				<Quantity_ME Null="Да"/>
				<Drug_Dose Null="Да"/>
				<Price_Drug Значение="62,37"/>
				<Quantity Значение="27"/>
				<Max_Price Значение="85,49"/>
				<Quantity_In_Package Значение="3"/>
				<Packages_Trunc_Quantity Значение="8"/>
				<Packages_Total Значение="9"/>
				<GUID Значение="{210D103D-5D8C-4AB4-BBFD-C304D970556F}"/>
			</СТРОКА_ДАННЫХ>
		</ЭКСПОРТИРУЕМЫЕ_ДАННЫЕ>

Получить табличку вида,

Sell_Recipe_GUID | Drugs_GUID |Quantity_ME|Drug_Dose|Quantity| Quantity_In_Package
---------------------------------------------------------------------------------------
Спасибо.
25 май 09, 16:08    [7223958]     Ответить | Цитировать Сообщить модератору
 Re: XML  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

а что конкретно-то не получается? вроде, просто все.
или в принципе как подступиться не представляете?

Posted via ActualForum NNTP Server 1.4

25 май 09, 16:23    [7224065]     Ответить | Цитировать Сообщить модератору
 Re: XML  [new]
yanoteg
Member

Откуда:
Сообщений: 32
я смотрела примеры, понимаю как такого вида разобрать хмл


<ROOT>
<Customer CustomerID="VINET" ContactName="Paul Henriot">
   <Order OrderID="10248" CustomerID="VINET" EmployeeID="5" 
           OrderDate="1996-07-04T00:00:00">
      <OrderDetail ProductID="11" Quantity="12"/>
      <OrderDetail ProductID="42" Quantity="10"/>
   </Order>
</Customer>
<Customer CustomerID="LILAS" ContactName="Carlos Gonzlez">
   <Order OrderID="10283" CustomerID="LILAS" EmployeeID="3" 
           OrderDate="1996-08-16T00:00:00">
      <OrderDetail ProductID="72" Quantity="3"/>
   </Order>
</Customer>
</ROOT>

SELECT *
FROM OPENXML (@XmlDocumentHandle, '/ROOT/Customer/Order/OrderDetail',2)
WITH (OrderID     int         '../@OrderID',
      CustomerID  varchar(10) '../@CustomerID',
      OrderDate   datetime    '../@OrderDate',
      ProdID      int         '@ProductID',
      Qty         int         '@Quantity')

то есть, тут получаются в столбцах атрибуты строки. а как столбцами сделать строки, не могу понять.
25 май 09, 16:37    [7224165]     Ответить | Цитировать Сообщить модератору
 Re: XML  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> то есть, тут получаются в столбцах атрибуты строки. а как столбцами
> сделать строки, не могу понять.

select *
from openxml(@hdoc, N'/ЭКСПОРТИРУЕМЫЕ_ДАННЫЕ/СТРОКА_ДАННЫХ')
with (Sell_Recipe_GUID uniqueidentifier N'Sell_Recipe_GUID/@Значение'
       , Drugs_GUID uniqueidentifier N'Drugs_GUID/@Значение'
      )

Posted via ActualForum NNTP Server 1.4

25 май 09, 16:41    [7224204]     Ответить | Цитировать Сообщить модератору
 Re: XML  [new]
yanoteg
Member

Откуда:
Сообщений: 32
Огромное спасибо.
25 май 09, 16:46    [7224248]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить