Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: работа с XML на CPP
Показать сообщение отдельно

редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


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);
};
Добавлено:

Цитата:
десятки и сотни других парсеров.
Десятки и десятки, я хотел сказать.

-------
http://ivank.ru


Отправлено: 00:49, 14-01-2004 | #2

Название темы: работа с XML на CPP