Xml データ型からいくつかの値を取得しようとしています。データは次のようになります。
<Individual xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<FirstName xmlns="http://nswcc.org.au/BusinessEntities.Crm">Lirria</FirstName>
<LastName xmlns="http://nswcc.org.au/BusinessEntities.Crm">Latimore</LastName>
</Indvidual>
FirstName 要素と LastName 要素に xmlns が存在することに注意してください。これは、ac# ビジネス オブジェクトをシリアル化して xml を作成するときに追加されます。とにかく、要素にこの名前空間が存在すると、次のような XQuery 式が失敗するようです。
SELECT MyTable.value('(//Individual/LastName)[1]','nvarchar(100)') AS FirstName
これは null を返します。しかし、xml の要素から名前空間を取り除くと (たとえば、Replace T-SQL ステートメントを使用して)、上記は値を返します。ただし、より良い方法があるはずです。最初にxmlを更新せずに、このクエリを機能させる方法はありますか?
ありがとう
ジョン・デイビス