以下に示すコード サンプルの XML でx:String ノード(L1.0.0.0)の値を取得しようとしています。サンプルの XML は、ビルドをキューに入れるときに TFS 2010 によって生成されます。XML には、Dictionaryとx:Stringの 2 つの主要なノードがあり、他のスタック オーバーフロー スレッドと同様のクエリを試し、追加の調査に含めました。私の XQuery が機能しない理由について何か提案はありますか?
DECLARE @XML XML;
SET @XML = '<Dictionary x:TypeArguments="x:String, x:Object"
xmlns="clr-namespace:System.Collections.Generic;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<x:String x:Key="GetVersion">L1.0.0.0</x:String>
</Dictionary>'
;WITH XMLNAMESPACES(
'clr-namespace:System.Collections.Generic;assembly=mscorlib' AS a,
'http://schemas.microsoft.com/winfx/2006/xaml' AS x)
SELECT @XML.value('(/Dictionary/x:String)[1]', varchar(100)) AS BuildLabel
追加調査 スタック オーバーフロー T-SQL、XQuery 無効な列