8

私は結果のないこの単純なコードに苦労してきました。XML 変数に新しいノードを追加しようとしています。

DECLARE @XML XML;
SET @XML = '<root>
<policyData>
    <txtComentario />
    <idRegProducto>76</idRegProducto>
    <txtDuracion>24</txtDuracion>
</policyData>
</root>';
DECLARE @NODE XML;
SET @NODE = '<newNode>10</newNode>';
SET @XML.modify
('insert sql:variable("@NODE") as first
into (/root/policyData)[0]')
SELECT @XML;

エラーはありませんが、新しいノードが出力に表示されません。SQL Server で XML を使用する前に、最初にセットアップする必要があるものはありますか? これが機能しない理由はありますか?

前もって感謝します!

4

1 に答える 1

8

あなたが使うとき、[0]あなたは実際に言ってい[position()=0]ます。最初のノードには位置があるため、新しいノードを の最初のオカレンスに挿入する場合1は、述語を に変更する必要があります。[1]policyData

于 2013-08-26T15:39:14.360 に答える