Валидация больших XML-файлов

По специфике моей текущей работы нам приходится работать с большими XML-файлами, как в сторону выгрузки наших данных сторонним сервисам, так и наоборот, импорт данных из сторонних сервисов. Размеры файлов весьма большие, вплоть до 500 Мб. Соотв-но в один прекрасный момент наша выгрузка сломалась, и весь ответ от стороннего сервиса заключался в том, что мы присылаем им «invalid xml». Как следствие, встал вопрос: как понять, в чем невалидность нашего XML.

Онлайн валидаторы XML не принимают настолько большие файлы, поэтому пришлось искать локальное решение. И на помощь пришел Sublime. Есть плагин к нему под названием Exalt, который на лету валидирует XML, и либо в строке статуса выдаст Valid markup, либо напишет, в какой строчке возникла проблема при парсинге.

В нашем случае оказалось, что при генерации XML в некоторых узлах были незаэкранированные «<» и «>» 🙂