Счёт-фактура: найти сумму и НДС
В УПД много атрибутов, и в тексте их трудно разглядеть. В дереве у элемента СведТов видны его атрибуты — @НаимТов, @КолТов, @НалСт, @СтТовУчНал, — а поиск по «СумНал» сразу раскроет ветки с суммой налога. Пример упрощён: имена взяты из формата УПД 5.03, но обязательных полей в настоящем документе гораздо больше.
<Файл ВерсФорм="5.03">
<Документ>
<ТаблСчФакт>
<СведТов НомСтр="1" НаимТов="Кабель ВВГнг 3х2,5" КолТов="150" ЦенаТов="87.50" СтТовБезНДС="13125.00" НалСт="22%" СтТовУчНал="16012.50">
<СумНал><СумНал>2887.50</СумНал></СумНал>
</СведТов>
<ВсегоОпл СтТовБезНДСВсего="13125.00" СтТовУчНалВсего="16012.50"/>
</ТаблСчФакт>
</Документ>
</Файл>
Курсы валют ЦБ
Ежедневный файл курсов ЦБ РФ — XML в windows-1251 со списком Valute. Повторяющиеся Valute в дереве собраны в список с числом элементов, а путь к курсу второй валюты — /ValCurs/Valute[2]/Value. Курсы в примере выдуманы.
<?xml version="1.0" encoding="windows-1251"?>
<ValCurs Date="04.11.2026" name="Foreign Currency Market">
<Valute ID="R01235">
<CharCode>USD</CharCode>
<Nominal>1</Nominal>
<Value>81,2345</Value>
</Valute>
<Valute ID="R01239">
<CharCode>EUR</CharCode>
<Nominal>1</Nominal>
<Value>94,5678</Value>
</Valute>
</ValCurs>
XML — текстовый файл, и Блокнот его откроет. Но документы из налоговой, с Госуслуг и от операторов ЭДО обычно записаны одной строкой, а кириллица в windows-1251 в некоторых редакторах превращается в кракозябры. Перетащите файл сюда: мы прочитаем кодировку из первой строки, а дерево покажет, что во что вложено.
Дерево устроено так же, как JSON, в который превратится документ: элемент — узел с именем, атрибут — @имя, текст рядом с вложенными элементами — #text, повторяющиеся элементы — список с числом записей. Поэтому дерево, перевод в JSON и таблица Excel показывают одни и те же поля.
Это просмотр данных, а не печатная форма. Бланк УПД или декларации в привычном виде покажет программа, в которой документ готовили, или личный кабинет, откуда вы его скачали. Зато здесь видно каждое поле, даже то, которого нет на бланке.
Дерево только для просмотра: править документ нужно слева, в редакторе. Выберите узел — левое поле прокрутится к нему и подсветит элемент, атрибут или текст. Если нужно выгрузить данные в таблицу, откройте режим «Excel и CSV»: строками станут повторяющиеся элементы, столбцами — их атрибуты.
Выберите узел — над деревом появится его путь: /Файл/Документ/СвСчФакт/@НомерДок. У повторяющихся элементов в пути стоит номер, считая с единицы: /Файл/Документ/ТаблСчФакт/СведТов[2]/@ЦенаТов. Кнопка «Копировать путь» скопирует его в буфер.
Такой путь понимают XPath-запросы в 1С, Python (lxml), Java и C#, xmllint и XSLT, поэтому его удобно вставлять в код, который достаёт значение из документа. Если у документа есть пространство имён по умолчанию (xmlns="…"), в коде его придётся объявить с префиксом и добавить этот префикс к именам в пути. Выполнять XPath-запросы прямо на странице мы скоро научимся.
Файл, который пришёл в мессенджер или почту, на телефоне обычно не открывается ничем, кроме браузера с сырым текстом. Откройте эту страницу, нажмите «Открыть файл» и выберите XML: на узком экране одна панель с переключателем «Исходный / Результат», дерево и поиск работают так же, как на компьютере. Приложение ставить не нужно.
Что значат @ и #text в дереве
@ отмечает атрибут: @ИННЮЛ — это ИННЮЛ="…" внутри тега. #text — текст элемента, у которого есть ещё атрибуты или вложенные элементы, как 1490.00 в <Total currency="RUB">1490.00</Total>. Если у элемента только текст, он показан сразу значением.
Как раскрыть всё дерево или только нужный уровень
Кнопка «Развернуть всё» раскрывает все узлы, «Свернуть всё» сворачивает дерево, а переключатель «Уровень» раскрывает ровно 1, 2 или 3 уровня. С клавиатуры: стрелки вверх и вниз — по узлам, вправо и влево — раскрыть и свернуть.
Как найти значение в большом XML
Введите текст в поиск над деревом. Совпадения в именах элементов, атрибутов и в значениях подсветятся, найденные узлы раскроются, счётчик покажет «3 из 17». Enter — к следующему, Shift+Enter — к предыдущему.
Где комментарии из файла
В дереве их нет: оно показывает данные — элементы, атрибуты и текст. Комментарии и инструкции обработки видны в исходном XML слева, на своих местах.
Какой размер файла можно открыть
До 20 МБ. Документ разбирается в отдельном потоке, а дерево рисует только видимые строки, поэтому большая выгрузка прокручивается без задержек.
Куда уходят мои файлы
Никуда. Файл читает браузер, запросы на чужие адреса запрещены заголовком безопасности. Документы с ИНН и суммами остаются на вашем компьютере.