Я переменную XML с ниже заданного формата, и мне нужно динамически читать и загружать в некоторой 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: для данного элемента, вернуть все его подэлементы).
Прямо сейчас, я написал это T-SQL, чтобы получить Подэлементы дали одно имя элемента, но я получаю нулевое значение:
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/...'' –