Я анализирую некоторые XML с помощью OPENXML. Мне нужно убрать Identity из XML, чтобы знать порядок узлов.
@mp: id всегда в порядке? Я знаю, что они не последовательные, но, по крайней мере, в порядке?
Например, следующий запрос всегда даст результаты в том же порядке, что и XML?
SELECT row_number() OVER (ORDER BY OrderID) rn,
StepID, CONVERT(varchar(max), CONVERT(VARBINARY(max), StepID), 2),
[ACTION]
FROM OPENXML(@idoc, 'descendant::step |descendant::compref', 2)
WITH ([OrderID] INT '@mp:id',
[StepID] INT '@id',
[Action] VARCHAR(max) 'parameterizedString[1]')
ORDER BY rn
или @mp: id - это мета-данные, которые могут располагаться в любом порядке в зависимости от того, как они сохранены?