вторник, 15 июня 2010 г.

Обработка xml файлов с помощью библиотеки Qt

Статья QtXml)

Обработка xml файлов с помощью библиотеки Qt.

Я расскажу самый быстрый способ, когда не нужно создавать свои классы и структуры для хранения информации из xml.Мы будем пользоваться qt функциями.
Обработка будет производиться методам DOM.

void readXml (QDomNode *node);
void main(int argc, char*argv[])
{
if(argc>2)
{
QFile xml(argv[1]); // Наш файлик загружен
QDomDocument domDoc;
if(domDoc.setContent(&xml)) // Вот и само считывание впринципи
{
QDomElement domElement= domDoc.documentElement(); // Получаем главный корень дерева xml
readXml(&domElement); // Парсинг
}
}
}
void readXml (QDomNode *node)
{
QDomNode child=node->firstChild();
while(!child.isNull()) // Если есть узел
{
QDomElement element=node->toElement(); // Преобразуем данные узла
if(!element.isNull()) //
{
puts(qPrintable("tagName : " + element.tagName())); // распечатка тегов
puts(qPrintable("attribute name: " + element.attribute("name")); // распечатка атрибутов
}
readXml(&child); // Продолжаем парсить дерево
child=child.nextSibling(); // Переходим к следующему узлу
}
}
// На выходе будет распечатка всех тегов и их атрибутов :)

Комментариев нет:

Отправить комментарий