Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Qt Закрытие MessageBox https://www.cyberforum.ru/qt/thread1358050.html
запускаю QMessageBox::question(...). как поймать сигнал что был нажат крестик, т.е. окошко закрыли, но не нажали ни да, ни нет
C++ Qt Отладка через lldb
Всем привет. Не получается завести отладчик lldb из-под QtCreator на Ubuntu 14.04. В журнале отладчика вижу такие строки: STARTING LLDB: python -i...
C++ Qt Ошибка открытия файла QtFile
Всем привет, я как всегда очень нуждаюсь в вашей помощи :) У меня есть проект на Qt и там не получается открыть файл для чтения и записи. Лежит он у меня в том же каталоге, где и проект (т.е....
C++ Qt Добавление виджетов на форму [QtDesigner или вручную] Где лучше всего делать виджеты в дизайнере или вручную. https://www.cyberforum.ru/qt/thread1358011.html
C++ Qt QT рисование рамки вокруг рабочего стола. https://www.cyberforum.ru/qt/thread1358007.html
Как мне нарисовать светящуюся рамку поверх всех окон по периметру рабочего стола. Или обычную рамку. (светящаяся - чтобы была похожа на то, как наводишь курсор на кнопку закрытия окна в windows 7.)
C++ Qt QDockWidget, добавление кнопок системного меню (свернуть, развернуть, закрыть)
Как добавить QDockWidget-у кнопку "maximize" в то время, как он "floating" ? Имеется ввиду, что когда он не забазирован где - то в окно, а просто плавает, я же его легко могу перетащить на второй...
C++ Qt QTableView не отображаем модель.
Здравствуйте, уже замучился со своей недалекостью.. реализую модель - представление.. так вот, вопрос тупой до безобразия.. почему когда реализую в main.cpp так.. QStandardItemModel model(10,...
C++ Qt Доступ к виджетам другой формы У меня есть форма camWindow.h, на нее в дизайнере навешен gridLayout #ifndef CAMWINDOW_H #define CAMWINDOW_H #include <QDialog> #include <cameraviewholder.h> namespace Ui { class... https://www.cyberforum.ru/qt/thread1357711.html
C++ Qt Узнать координаты окна https://www.cyberforum.ru/qt/thread1357548.html
Доброй ночи. Каким образом можно узнать координаты главного окна. Привести пример)
C++ Qt Разбор последовательности байт Доброго времени суток. Есть последовательность байт. Выглядит примерно так: 02 01 08 00 00 01 Это самый минимальный пакет, который может придти для разбора. Содержит он в себе следующую... https://www.cyberforum.ru/qt/thread1357448.html
Sph
158 / 42 / 10
Регистрация: 25.08.2014
Сообщений: 345
22.01.2015, 11:30  [ТС] 0

Выбор для xml парсинга

22.01.2015, 11:30. Просмотров 1695. Ответов 24
Метки (Все метки)

Ответ

Цитата Сообщение от Shtirliz72 Посмотреть сообщение
Хороший пример программы XmlStreamReader есть в главе 16 в книге "Жасмин Бланшет, Марк Саммерфилд - Qt 4 Программирование GUI на С++". Там также есть примеры других классов для работы с XML.
Действительно, пример очень хороший там, я забыл совсем про эту книгу. Под рукой в основном Шлее лежит.

Созрел только вопрос, можно ли использовать XmlStreamReader не прибегая к QFile для открытия файла?
Просто во всем проекте использую стандартные способы работы с файлами fopen\fread\fwrite и не хотелось бы отходить от этого.
При использовании QFile все работает прекрасно.(мини код)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
QFile fff("tt.xml");
fff.open(QIODevice::ReadOnly);
QXmlStreamReader xml_reader(&fff);
while(!xml_reader.atEnd())
{
    if(xml_reader.isStartElement())
    {
        QStringList stl;
        stl << xml_reader.name().toString();
        qDebug() << stl;
    }
 
    xml_reader.readNext();
}
А если пробую через обычное открытие файла, то не реагирует. Подскажите пожалуйста как правильно написать.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
FILE *xml_file;
if((xml_file = fopen("tt.xml", "rt")) != NULL)
{
    qDebug() << "yes open!";
}
QXmlStreamReader xml_reader((const char*)xml_file); //тут не верно точно, тк не работает
//так ругается QXmlStreamReader xml_reader(xml_file);
//и так тоже QXmlStreamReader xml_reader(&xml_file);
//так пофиг QXmlStreamReader xml_reader("tt.xml");
//туплю и не понимаю как написать правильно =(
while(!xml_reader.atEnd())
{
    if(xml_reader.isStartElement())
    {
        QStringList stl;
        stl << xml_reader.name().toString();
        qDebug() << stl;
    }
 
    xml_reader.readNext();
}


Вернуться к обсуждению:
Выбор для xml парсинга
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2015, 11:30
Готовые ответы и решения:

Класс парсинга xml
Нужно реализовать метод класса, который ищет нужный элемент, имя которого передается методу извне....

QT - класс для парсинга сайтов
Здравствуйте! Я совсем недавно начал изучать QT. Раньше изучал только С++. Сейчас стоит задача...

Библиотека для xml парсинга
Доброго времени суток. У меня появилась необходимость чтения xml из потока (файлы будут...

Посоветуйте библиотеку для парсинга XML (xdxf)
Здравствуйте. Есть словари в формате xdxf. Кто не знаком xdxf - это, как по мне, сильно неудачная...

Математические алгоритмы для парсинга текста из word и xml
Здравствуйте, какие есть математические алгоритмы для парсинга текста из word или xml или похожих....

24
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.