XML, как правило, мой первый выбор. Частично это связано с тем, что это стандартный формат файла конфигурации для моей платформы (.NET). Я обнаружил, что почти исключительно четко определенный XML-файл лучше, чем настроенный формат. Я также буду уклоняться от CSV и плоских файлов, если только они не являются требованием проекта.
Мои причины для выбора XML (обратите внимание, что некоторые из них зависят от платформы):
Стандартная реализация для моей платформы. Много инструментов для работы с XML, XSD, XSLT.
Применение схемы (XSD). Позволяет принудительно настроить структуру файла. Очень полезно, когда формат используется другими.
Навигация (XPath, Linq to Xml). Простота извлечения и записи узлов и их атрибутов. Меньший риск при написании кода такого типа по сравнению с читателями и писателями.
Transformable (XSLT). Может конвертировать файл в другие представления представления без особых усилий.
Совместимо. Структура XML является естественной для описания объектов. Объекты, сериализованные в XML, легко переносимы и могут существовать вне границ приложения.
Легко редактируемые. Четко определенный XML легко читается и легко редактируется. Для начала достаточно простого текстового редактора, и существует множество инструментов для редактирования XML с различными функциями и ценами.
Я не понимаю, что XML будет легче изменить вручную, чем собственный формат. XML может быть более многословным, чем формат, который вы придумали, но он обеспечивает контекстную релевантность для данных, которые он содержит. Если вы можете взглянуть на (правильно сформированный) XHTML, то он не сильно отличается, когда вы смотрите на XML.