在 SQL 中对 XML 属性进行排序

2021-10-02 00:00:00 xml sql xquery sql-server xquery-sql

如何在 SQL 中对 XML 属性进行排序?

How to sort XML Attributes in SQL?

例如对于这个 XML:

for example for this XML:

<books><book b='' c='' a=''/></books>

我想要:

<books><book a='' b='' c=''/></books>

推荐答案

来自 http://msdn.microsoft.com/en-us/library/ms187107%28v=sql.90%29.aspx:

不保留 XML 属性的顺序.当您查询XML 实例存储在 xml 类型列中,属性在生成的 XML 可能与原始 XML 实例不同.

The order of the XML attributes is not preserved. When you query the XML instance stored in the xml type column, the order of attributes in the resulting XML may be different from the original XML instance.

因此,即使您能想出一种对属性进行排序的方法,您也不能相信 SQL Server 中的 XML 数据类型会保留您想要的顺序.

So even if you could figure out a way of sorting the attributes, you can not trust that the XML data type in SQL Server will preserve the order you want.

相关文章