Я знаю, что это старая версия, но я ежедневно работаю с фиксированной шириной и XML.Вы можете суммировать это до:
XML = удобочитаемость
Фиксированная ширина = скорость и низкое потребление ресурсов
XML в значительной степени удобочитаем для человека.Мне все равно, что кто-нибудь говорит о структуре и валидации.Если вы работаете с системой, которая действительно не нуждается и должна иметь людей, читающих файлы, которые вы передаете туда и обратно, то вы просто добавляете это как накладные расходы к количеству времени, которое требуется для обработки файла и кразмер файла, влияющий на время, которое может занять файл для передачи его содержимого, а также другое влияние на обработку.Все это также повлияет на использование памяти системой, использующей файл XML.Однако у XML есть свои преимущества.Вы можете более свободно определить свою структуру.Иногда проще, если ваш файл и код не требуют, чтобы поле было длиной 255 символов.Только то, что ваш код загружает этот ограниченный период.Другое преимущество заключается в том, что XML может / должен иметь XML-схему, которая определяет требования к содержимому XML.Это помогает иметь несколько систем, которые используют один API.Если вы можете предоставить свою схему разработчику, он может довольно быстро превратить типизированные объекты, которые сериализуются в правильно отформатированный и структурированный XML.
Фиксированная ширина предназначена для скорости и минимального потребления ресурсов.Это может быть более утомительным для установки, чем XML.Обеспечение того, чтобы все системы знали точное положение «столбцов» в файле с фиксированной шириной.Часто не во всех системах используются одинаковые или все столбцы, поэтому в итоге получается только одна система, которая полностью понимает содержимое фиксированной ширины.Это может усложнить разработку API или системы с использованием содержимого переданных файлов.Однако, поскольку нет меток полей, нет тегов, нет ничего, кроме необработанных данных, вы часто можете получить меньшую посылку по сети.Не всегда верно, в некоторых случаях у вас может быть большое количество текстовых полей, которые обычно имеют небольшие объемы данных, хранящихся в полях, но должны сохранять большую ширину столбца для одного случая, когда была введена длина абзаца.Теперь у вас есть куча пустых пространств, содержащих позиции в вашем файле с фиксированной шириной, и XML может фактически уменьшить общий размер вашего пакета.
В общем, XML предназначен для удобства чтения.Обычно вы не можете просто взять файл с фиксированной шириной или даже файл CSV и сразу начать понимать, что означают данные.Там, где также можно пометить XML-файлы, вы можете это сделать.
Есть ряд преимуществ и недостатков, в которые я не вдавался, но именно здесь я вижу настоящее мясо и картошку различий.