Мне нужен формат для передачи данных из программы A в программу B, и, очевидно, я бы предпочел использовать стандартный формат. На первый взгляд, XML идеально подходит для этой работы или, возможно, JSON.
Муха в мази заключается в том, что мне нужно, чтобы формат был инкрементным: программа A время от времени добавляет данные в файл, а затем программа B глотает всю партию, когда она готова. Из того, что я прочитал, ни XML, ни JSON не могут этого сделать, поскольку им обоим требуется ровно один элемент верхнего уровня в файле.
Есть что-то, что я пропускаю?
Пояснение:
Мне нужна структура типа XML, а CSV - нет. (Ну, я мог бы сделать мутантный вариант CSV, который больше никто не смог бы прочитать, но это то, чего я пытаюсь избежать.)
A не знает, когда он будет завершен (зависит от действий пользователя, доступности сетевых подключений и других таких непредсказуемых переменных), поэтому A не может сказать «теперь я запишу последний конечный тег и передачу обслуживания в B» потому что A может быть вызван снова до B.