TSQLを介してSQLServer2008でXMLを解析/細断処理しようとしています。ノードの1つに、値が指定されていない次の形式の空白のプロパティがあります。その値を取得できないようで、他のすべての値を破棄します(列をシフトしますか?)
これがtsqlコードと何が悪いのかの写真です:
declare @doc nvarchar(4000)
set @doc = ' 
<Objects>
  <Object>
    <Property Name="Path">some path</Property>
    <Property Name="InstanceName">some instance</Property>
    <Property Name="result1">0.390630000000003</Property>
    <Property Name="result2">63345649697265</Property>
  </Object>
  <Object>
    <Property Name="Path">another path</Property>
    <Property Name="InstanceName" />
    <Property Name="result1">100</Property>
    <Property Name="result2">1002</Property>
  </Object>
 </Objects>
'
  SELECT 
 item.ref.value('(Property/text())[1]', 'nvarchar(128)') AS Path, 
 item.ref.value('(Property/text())[2]', 'nvarchar(128)') AS InstanceName,
 item.ref.value('(Property/text())[3]', 'nvarchar(128)') AS result1,
 item.ref.value('(Property/text())[4]', 'nvarchar(128)') AS result2
  FROM (SELECT CAST(@doc AS XML) AS feedXml) feeds(feedXml) 
   CROSS APPLY feedXml.nodes('/Objects/Object') AS item(ref)
クエリを実行すると、列InstanceNameに、空白、空、またはnullではなく、他の列の値が入力されていることに注意してください。
どんな助けでも大歓迎です。