0

我想使用该xml.modify命令动态创建一个 XML 文件。我有一个带有类型列的表xml,我会用光标读取该表并创建一个 XML 文件。

我正在尝试此代码只是为了进行一些测试,但它不起作用。

declare @root xml
declare @x xml

set @root = '<Shipment></Shipment>'
set @x = '<ShipmentHeader><ShipID>0001</ShipID></ShipmentHeader>'

select @x

set @root.modify('insert {sql:variable("@x")} into (/Shipment)')

select @root

我会

<Shipment>
    <ShipmentHeader>
        <ShipID>0001</ShipID>
    </ShipmentHeader>
</Shipment>     
4

1 回答 1

0

我在修改了一下代码后自己修复了工作代码如下

declare @x xml

set @root = '<Shipment></Shipment>'

set @x = '<ShipmentHeader><ShipID>0001</ShipID></ShipmentHeader>'

select @x

set @root.modify('insert (sql:variable("@x")) into (/Shipment)[1]')

select @root

我删除了 {},并以这种方式为 Shipment[1] 指定了第一个节点,我得到了预期的结果

于 2014-12-10T13:19:10.917 回答