Использование namespaces

ЕленаВ
Дата: 05.12.2002 14:27:06
Нижепомещенный код сгенерирован автоматически в C# и является параметром хранимой процедуры
Задача: преобразовать vtvPackageElementAmount из XML в SQL представление

Вопросы:
Как сделать код работоспособным?
Что надо поставить вместо знаков ???
Правильно ли задан 3 аргумент в sp_xml_preparedocument?


DECLARE @xmlstr varchar(2000), @hDoc int

SET @xmlstr = '<dtsSqlCommandParameters
xmlns="http://tempuri.org/dtsSqlCommandParameters.xsd">
<vtvPackageElementAmount>
<peaGuestReservationId>-1</peaGuestReservationId>
<peaPackageElementId>2</peaPackageElementId>
<peaMultiplier>2</peaMultiplier>
<peaSign>+</peaSign>
<PackageElementAmountId>-1</PackageElementAmountId>
</vtvPackageElementAmount>
</dtsSqlCommandParameters>'

EXEC sp_xml_preparedocument @hDoc OUTPUT, @xmlstr,'<root xmlns:x="http://tempuri.org/dtsSqlCommandParameters.xsd"/>'

SELECT peaPackageElementId, peaMultiplier, peaSign
FROM OPENXML (@hDoc, '????',2)
WITH vtvPackageElementAmount -- database table

EXEC sp_xml_removedocument @hDoc
АМС
Дата: 05.12.2002 15:19:13
Например так:\r
DECLARE @xmlstr varchar(2000), @hDoc int \r
\r
SET @xmlstr = \'<dtsSqlCommandParameters\r
xmlns="http://tempuri.org/dtsSqlCommandParameters.xsd">\r
<vtvPackageElementAmount> \r
<peaGuestReservationId>-1</peaGuestReservationId> \r
<peaPackageElementId>2</peaPackageElementId> \r
<peaMultiplier>2</peaMultiplier> \r
<peaSign>+</peaSign> \r
<PackageElementAmountId>-1</PackageElementAmountId> \r
</vtvPackageElementAmount> \r
</dtsSqlCommandParameters>\'
\r
\r
EXEC sp_xml_preparedocument @hDoc OUTPUT, @xmlstr,\'<root xmlns:x="http://tempuri.org/dtsSqlCommandParameters.xsd"/>\' \r
SELECT * \r
FROM OPENXML (@hDoc, \'/x:dtsSqlCommandParameters/x:vtvPackageElementAmount\',2) \r
WITH ([x:peaGuestReservationId] int, [x:peaPackageElementId] int)\r
EXEC sp_xml_removedocument @hDoc
\r
Что-подобное на /topic/16914
ЕленаВ
Дата: 05.12.2002 16:31:12
To AMC

Спасибо, Вы меня здорово выручили