我正在使用 OPENXML 解析一些 xml。我需要从 XML 中获取一个 Identity 以了解节点的顺序。
@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 是一种元数据,可以根据保存方式以任何顺序排列?