Как читать xml файлы отчетности и протоколов

Большую часть отчетов в настоящее время индивидуальные предприниматели и организации сдают в формате XML, для сдачи некоторых отчетов это обязательное условие. Для того чтобы проверить заполнился ли файл XML необходимо знать его структуру. Для удобства работы ознакомьтесь с термином:

Тег- слово заключенное в скобки <тег>. С тега начинается каждая строка XML отчета. Зачастую, название тега совпадает с названием соответствующего поля в отчете из которого выгружается информация. Некоторые теги могут присутствовать в файле, но отсутствовать в отчете сервиса, это связано с тем что они выгружаются автоматически по данным учета или заданы определенным видом и не требуют изменений пользователем.

Пример XML отчета

Заполнение файла данными из титульного листа:

Первая и вторая строка документа содержат информацию о самом XML файле: Версию формы, Данные о программе в котором он был создан, Идентификационный номер отчета. Эти теги заполняются автоматически и скрыты из интерфейса сервиса.

титлист

Строка 3 XML файла начинается с тега <Документ далее перечислены подчиненные ему элементы Теги соответствующие данным титульного листа из раздела Информация по налоговой декларации:

Строка 4 Начинается с тега <СвНП включает данные из раздела Данные об организации и заканчивается строкой 8 и тегом </СвНП>:

Отступы перед теми или иными тегами определяет их подчиненность, так <ФИО включает теги Имя Фамилия Отчество, но подчинен тегу <НПФЛ, а он тегу <СвНП. 

Сопоставить данные XML файла и отчета в сервисе достаточно просто. Для того чтобы изменить какие либо данные в уже выгруженном из сервиса файле вы можете открыть его при помощи блокнота(кликнув правой кнопкой мыши по файлу) и внести правки в нужной части.

блокнот

Пример с файлом ИОН-запроса

Подробнее об ИОН запросе можно прочитать в нашей статье Формализованный документооборот. Ответ на ИОН запросы могут приходить в разном виде RTF, XLS, PDF и XML. Рассмотрим последние два PDF и XML:

ион

Принцип построения файла XML такой же как и в предыдущем примере. Теги заполняются из соответствующих полей, соблюдая правильную иерархическую последовательность: Имя в тег Имя, Фамилия  в тег Фамилия.