Я создал табличную функцию, которая возвращает список пар атрибутов имени-атрибута, когда кормится фрагмент XML, основанный на отличном ответе Бена Дэвиса здесь, Он работает, но возвращает список всех пар атрибутов имени атрибута во всем фрагменте, когда я хотел бы ограничить его только на корневом элементе. Как я могу это сделать? Спасибо, от новичка XQuery.
INSERT INTO @attributeList
SELECT DISTINCT
CAST(attribute.name.query('local-name(.)') AS VARCHAR(100)),
attribute.name.value('.','NVARCHAR(MAX)')
FROM @xml.nodes('//@*') attribute(name)
ETA: Как выясняется после некоторых экспериментов, работает селектор node()/@* '. Спасибо тем, кто помог.
Я использую это в простом приложении переноса данных или в загрузочном файле Sitecore на передней панели. Я написал утилиту, которая может принимать объекты POCO в .NET и получать их в Sitecore, но теперь я создал базу данных миграции и регистрации. Исходные объекты хранятся в одном месте как XML. Еще раз спасибо.