我受夠了如下格式的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:for a given element,返回它的所有子元素)。
現在,我已經寫了這個T-SQL來獲得subElements屬性給出一個元素的名字,但我得到一個空值:
select
t.c.value('@Field', 'nvarchar(10)') AS SomeAlias
from
@InputXml.nodes('N/Root/Element[@Name = ''elementName'']//SubElement') t(c);
分辨率:
這post幫助我清除我的問題。感謝所有迴應的人。
也會如果N功是在正確的位置,例如'@ InputXml.nodes(N'/ Root/...' – 2012-03-12 22:35:51