我有这样的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>')
答案 0 :(得分:1)
XML Recommendation表示the order of XML attributes is insignificant:
请注意start-tag或中的属性规范的顺序 空元素标签不重要。
因此,XML工具通常不关心属性排序,除非您关注XML规范化/规范化 1 ,否则您也不应该这样做。
1 对于极少数情况,请参阅section on attribute processing或XML Normalization Recommendation中的Canonical XML Recommendation。