Блок задач

5. Проекты

Темы
Сложность 8

Проект «XML-парсер»

Реализовать модуль разбора для языка XML.

Требуемая функциональность:

  • Поддержка вложенных тегов и атрибутов у тегов. Результатом работы парсера является дерево узлов.
  • Поддержка комментариев.
  • Обработка ошибок (отсутствие завершающего тега и т.п.). В этом случае парсер должен возвращать ошибку.
  • Возможность сгенерировать XML-представление по существующему дереву.

Разрабатываемый модуль должен содержать следующие функции:

  • Разбор (из файла или из строки).
  • Генерация XML-представления по дереву.
  • Удаление дерева целиком.
  • Операции с узлами (вставка, удаление, копирование (рекурсивное!), изменение атрибутов).