Vlad Drakula
Есть такие штуки как DOM и SAX парсеры. Искать в гугле. Под виндой модно MSXML (искать в мсдн), под *никсами libxml и Xerces, искать гуглом. И ещё десятки и сотни других парсеров.
Ещё есть одна прога/либа, к сожалению забыл название, но не суть. Так вот скармливаешь ей DTD XML-ек, которые предстоит разбирать и на выходе имеешь кучку классов с ф-иями вида get_XXX, set_XXX, которые один в один отображают структуру XML-файла. К этому, разумеется, генерятся ф-ии парсинга/сериализации из/в XML.
XML - всего лишь текст, если хочешь можешь хоть регэкспами его править/разбирать

Я когда был молодой и глупый (т.е. практически такой же как сейчас) сам писал разборщик XML-like конфигов, на всё про всё (т.е. с отладкой) ушло около двух часов. Разбиралось всё это дело в дерево, приблизительно такого формата:
Код:

struct Node
{
std::map<std::string, smart_ptr<Node>> children;
std::map<std::string, std::string> attributes;
Node(const std::string & xml);
};
Добавлено:
Цитата:
десятки и сотни других парсеров.
|
Десятки и десятки, я хотел сказать.