Если вы уже используете считыватель, который помещает его в объект DOM, я не думаю, что стоит переключаться с XML на JSON, если вы в конечном итоге не измените свой формат данных во время процесса.Особенно, если вы используете редактор для создания данных вашей программы, потому что у вас будут намного лучшие инструменты для редактирования документов XML, чем в JSON.Скорее всего, время анализа этих объектов DOM не будет сильно отличаться между реализациями, но ваши объекты DOM экземпляра JSON, вероятно, будут занимать меньше места, если это вызывает озабоченность.Вы сможете хранить все, что вам нужно, либо в XML, либо в JSON, так что об этом не стоит беспокоиться.В качестве языка описания уровня я бы использовал XML, потому что я мог определить схему, и ее легче редактировать вручную, если это необходимо.Также кажется, что вам может понадобиться возможность эффективно создавать эти уровни, поскольку данные читаются и игнорируются все дополнительные данные экземпляра, если они не нужны как можно скорее.Для этого идеально подойдет XML SAX или pull-парсер.
Теперь, когда мой краткий ответ закончен, я немного подробнее расскажу информацию, которая может помочь вам лучше определиться для себя.
Как вы хотите получить доступ к данным?Вы хотите просто прочитать все это и получить большой объект для доступа или вам нужно только один раз взглянуть на данные, чтобы создать объекты на основе этой информации?Есть ли у вас какие-либо опасения по поводу производительности во время синтаксического анализа и как быстро вы можете реагировать на считываемую новую информацию?Может ли формат ваших данных сильно измениться?Хотите ли вы предоставить стандарт, в котором эта информация может передаваться за пределы вашего приложения?Какой язык программирования я использую?В некоторых языках есть отличные инструменты для JSON против XML в зависимости от языка.
Учитывая единственный выбор JSON или XML, я бы решил, основываясь на вариантах использования, относящихся к приложению.
Я быиспользуйте XML, если мне нужно действительно настроить производительность в моем парсере и иметь очень структурированный формат, который может быть описан и распространен и вряд ли будет часто меняться.Я мог бы использовать схему для описания требований к структуре данных, и это позволило бы другим людям легко поддерживать мои файлы данных.Я бы также использовал XML, если моя информация велика, и я хочу иметь возможность анализировать данные по частям и сохранять их непосредственно в объектах, что в итоге займет меньшую площадь, чем при использовании общей модели DOM и анализатора.Я бы использовал SAX push reader или потоковый ридер, который позволяет мне извлекать информацию, если мне нужно ответить на информацию, как она была прочитана. Есть много хороших библиотек, чтобы сделать это быстро и легко для XML.Если бы мне часто приходилось редактировать данные вручную или распечатывать для целей отладки, XML-документ уже находится в хорошем формате для этого.
Я бы использовал JSON, если мне нужно сохранить пространство документа экземпляра и я хочуОбъект типа DOM.Если бы у меня было два приложения, которые просто пытались обмениваться данными, таких как Python и Java, я бы использовал JSON, потому что он может считывать их в объекты экземпляра с помощью сеттеров и геттеров без сложной работы с фреймами, даже если это может замедлить работу.Если мне нужно только сериализовать и передавать объекты данных, JSON будет моим выбором по сравнению с XML, если это мои единственные варианты.