Я пытаюсь выяснить, как я могу загрузить переменную таблицы с данными из XML, используя динамический xquery?Я получаю результирующий набор узлов из запроса и определяю тип значения этих узлов.Похоже, что это определение значения узлов, на которых оно взрывается.
Вот пример сценария, который работает, но не является динамическим.
Сценарий:
DECLARE @XML XML = '<root>
<data>
<list id="organization" label="Organization">
<options>
<item value="1" label="Organization1" selected="false" />
<item value="2" label="Organization2" selected="false" />
<item value="3" label="Organization3" selected="false" />
<item value="4" label="Organization4" selected="true" />
<item value="5" label="Organization5" selected="true" />
</options>
</list>
</data>
</root>';
DECLARE @Orgs TABLE (ID INT);
Insert Into @Orgs(ID) Select OrgNameIdNodes.ID.value('@value','int') from @xml.nodes('//*[@id="organization"]//item[@selected="true"]') as OrgNameIdNodes(ID);
Select *
from @orgs
То, что я хотел бы сделать, это передатьпараметры для обоих значений и разделов @ xml.nodes, поэтому у меня будет что-то вроде:
Insert Into @Orgs(ID) Select OrgNameIdNodes.ID.value(@Value) from @xml.nodes(@Nodes) as OrgNameIdNodes(ID);
Возможно ли это?