2013-08-26 14 views
8

Sonuç olarak bu basit kod parçası ile uğraşıyorum. Sadece bir XML değişkenine yeni bir düğüm eklemeyi deniyorum.XML için düğümü NOACT-SQL kullanarak ekleyin.

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; 

Hata yok, ancak yeni düğüm çıktıda gösterilmiyor. SQL Server'da XML kullanmadan önce kurmam gereken bir şey var mı? Bunun neden çalışmadığına dair bir öneri var mı?

Şimdiden teşekkürler!

+3

'[0]' - '[1]' –

cevap

7

[0]'u kullandığınızda, aslında [position()=0] diyorsunuz. İlk düğümün 1 konumu vardır, böylece policyData'un ilk oluşumuna yeni düğümü eklemek istiyorsanız, yüklemi [1] olarak değiştirmeniz gerekir.

+0

'ı değiştirmeye çalışın Çok teşekkürler. Microsoft'un, kullanıcının sözdiziminin iyi olmadığını bilmesini sağlamak için neden bir hata atmadığını merak ediyorum. – Oscar

İlgili konular