XML является популярным форматом для обмена данными. Go поддерживает библиотеку для парсинга XML файлов. Процесс похож на работу с JSON. Обычно используется структура, что соответствует схеме XML, и с помощью этого сразу проводится парсинг содержимого XML. Проблема возникает, когда XML слишком большой для имеющейся памяти, поэтому нужно обрабатывать файл по кускам. В данной инструкции показано, как работать с крупными XML файлами и собрать требуемую информацию.

Как выполнить парсинг большого XML файла в Golang?

1. Создайте файл data.xml со следующим содержимым XML:

Премиум 👑 канал по Golang

Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎

Подписаться на канал

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК ЧАТ в Telegram


2. Создайте файл xml.go со следующим содержимым:

3. Запустите код через go run xml.go;
4. Посмотрите на результат в терминале:

xml golang

Пакет xml для парсинга XML файлов в Go

С помощью функции NewDecoder из пакета xml создается декодер для содержимого XML файла.

Через вызов метода Token для Decoder мы принимаем xml.Token. xml.Token является интерфейсом, что содержит тип токена. Поведение кода можно определить на основании типа. Код из примера выше проверяет, если парсируемый изначальный элемент xml.StartElement является одним из элементов <book>. Затем производится парсинг данных по частям в структуру Book. В таком случае позиция указателя в базовом Reader в Decoder перемещается через структуру данных, и парсинг может продолжаться.

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии