在XML

时间:2017-05-23 00:38:35

标签: sql-server xml xquery xquery-sql

我有这样的XML

 <root>
    <aree fbc="123" ad="12" b="123"/>
    <beee c="12" a="144"/>
</root>

需要按字母顺序对属性名称进行排序。像这样:

 <root>
    <aree ad="12" b="123" fbc="123"/>
    <beee  a="144" c="12"/>
</root>

我有一个xQuery代码,但它无法正常工作。请帮忙。我需要替换节点的真实姓名

select @data.query('<root>{for $i in root/* return <aaa> {for $j in $i/@* order by local-name($j) return  $j} </aaa> }</root>')

1 个答案:

答案 0 :(得分:1)

XML Recommendation表示the order of XML attributes is insignificant

  

请注意start-tag或中的属性规范的顺序   空元素标签不重要。

因此,XML工具通常不关心属性排序,除非您关注XML规范化/规范化 1 ,否则您也不应该这样做。

1 对于极少数情况,请参阅section on attribute processingXML Normalization Recommendation中的Canonical XML Recommendation