Я знаю, что это очень старая версия, но, тем не менее, я также ищу способ гарантировать сохраненный порядок элементов XML.
Хотя все текущие парсеры могут сохранять порядок, определение XML никоим образом не требует этого, и будущие парсеры могут обрабатывать порядок совершенно иначе.
Похоже, что лучшее решение, которое существует сейчас, это дать элементам атрибут 'id', чтобы упорядочение можно было проверять в коде после анализа.
Ненавижу требовать, чтобы мои пользователи добавляли произвольный id = "1", id = "2" и т. Д., Когда порядок уже очевиден в файле XML, но, насколько я знаю, официального стандарта нет в XML для требования определенного порядка для повторяющихся элементов.
Обновление
Если вы используете .NET, у него есть свойство, которое вы можете установить, чтобы определить, в каком порядке он читает такие элементы. Итак, я думаю, если вы знаете, где будет анализироваться ваш XML, и синтаксический анализатор поддерживает принудительное применение элемента, упорядочивающегося так, как вам нужно, порядок может быть приведен в исполнение.
Однако если бы третье лицо приняло и попыталось воспроизвести ваши результаты с помощью своего собственного синтаксического анализатора, может возникнуть путаница, поскольку этот порядок настраивается где-то еще, а не в XML, поэтому никакая другая реализация синтаксического анализатора не будет знать, чтобы использовать этот заказ.
Таким образом, все это можно резюмировать так: (a) Порядок не может быть реализован внутри самой спецификации XML, но (b) Порядок может быть и часто обеспечивается большим количеством анализаторов XML.