私は、下記のフォーマットを持つXML変数をした、と私はdinamically要素名とそのそれぞれのフィールド値を読み、いくつかのT-SQL構造にロードする必要があります:XML変数からデータを読み取る方法は?
declare @InputXml xml
Set @InputXml = '<Root RootName="rooNameValueHere">
<Element Name="elementName">
<SubElement Field="subelementFielName"/>
</Element>
<Element Name="otherElementName">
<SubElement Field="subelementFielName1"/>
<SubElement Field="subelementFielName2"/>
<SubElement Field="subelementFielName3"/>
</Element>
</Root>'
ヒント: 1 - ルートにはN個の要素を含めることができます 2 - 各要素にはN個の要素を含めることができます 3 - すべての情報を取り出すことができるルーチンを作成する必要があります。また、要素名(ei:すべてのサブ要素を返します)。
select
t.c.value('@Field', 'nvarchar(10)') AS SomeAlias
from
@InputXml.nodes('N/Root/Element[@Name = ''elementName'']//SubElement') t(c);
解像度:
このpostは私を助けて今、私はサブ要素が1人の要素名を与えられた取得するが、私はnull値を取得しています。このT-SQLを書いてきた
私の問題を解決する。誰にも感謝してくれました。
でも動作します適切な場所にあった、例えば'@ InputXml.nodes(N '/ Root/...') –