У меня есть переменная xml с указанным ниже форматом, и мне нужно динамически читать и загружать в некоторую структуру T-SQL имена элементов и значения соответствующих полей:
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 - Мне нужно создать процедуру, способную извлекать как всю информацию, так и фильтровать, предоставляя одно имя элемента (например, для данного элемента,вернуть все его подэлементы).
Сейчас я написал этот T-SQL, чтобы получить подэлементы с одним именем элемента, но я получаю нулевое значение:
select
t.c.value('@Field', 'nvarchar(10)') AS SomeAlias
from
@InputXml.nodes('N/Root/Element[@Name = ''elementName'']//SubElement') t(c);
Разрешение :
Эта запись поможет мне прояснить мою проблему.Спасибо всем, кто откликнулся.