2
我試圖拼湊所有我見過的用於查找元素和修改它們的例子,但是我還沒有想出一些可用的例子。我創建了下面的是我到目前爲止,這是我在SQL Server快到爲例2005年,我試圖改變項目ID 4至999:如何用XQuery更改匹配的元素文本?
DECLARE @x XML
SELECT @x = '
<ValueCollection>
<ItemGroup Name="Group A">
<ItemID>1</ItemID>
<ItemID>2</ItemID>
</ItemGroup>
<ItemGroup Name="Group B">
<ItemID>3</ItemID>
<ItemID>4</ItemID>
</ItemGroup>
</ValueCollection>
';
SET @x.modify ('
replace value of
(/ValueCollection/ItemGroup[ItemID="4"]/ItemID/text())[1]
with "999"
')
SELECT @x;
但是發生了什麼是項目ID 3得到改變到999而不是4,如下面的結果所示。我認爲發生的事情是「/ ItemGroup [ItemID =」4「]找到正確的<ItemGroup>,然後位置過濾器[1]給出<ItemID>中的第一個<ItemID>(ID 3 ) - 我只是還沒有找到如何位置過濾器更改爲可變
<ValueCollection>
<ItemGroup Name="Group A">
<ItemID>1</ItemID>
<ItemID>2</ItemID>
</ItemGroup>
<ItemGroup Name="Group B">
<ItemID>999</ItemID>
<ItemID>4</ItemID>
</ItemGroup>
</ValueCollection>
我有一種感覺它是簡單的東西,我的google搜索和stackoverflowing還沒有止跌回升但我欣賞你幫助!
Kevin