XML
Добрый вечер! Возник вопрос. Есть XML-файл созданный в одном ПО. Нужно его распарсить и разобрать куда что. Проблема возникла с тегом "place". Мне нужно из него вынуть атрибут. Тот же тег "position" у меня получается вынуть спокойно, возникает проблема именно с "place". С темой данной не очень хорошо знаком. Не отказался бы от помощи по разбору XML файлов. Заранее спасибо.
QList<QGraphicsRectItem *> rectList; // Объявим в стеке список прямоугольников QDomDocument doc; // объект документа QFile file(filename); // Открываем наш SVG-файл QString tag1 = "net"; QString tag2 = "place"; QString tag3 = "graphics"; QString tag4 = "position"; // Если он не открылся или не удалось передать содержимое в QDocDocument if (!file.open(QIODevice::ReadOnly) || !doc.setContent(&file)) return rectList; // Ищем в документе все объекты с тегом g QDomNodeList gList = doc.elementsByTagName(tag1); QDomNodeList gPlace = doc.elementsByTagName(tag2); // Начинаем их перебирать int kol1 = 0; qDebug() << tag1 << "нашел = " << gPlace.size(); for (int i = 0; i < gList.size(); i++) { QDomNode gNode = gList.item(i); // Выделяем из списка ноду QDomElement rectangle = gNode.firstChildElement(tag2); // И ищем в ней элемент c тегом rect // Если полученный элементы не нулевой, то if (rectangle.isNull()){ qDebug() << tag2 << "не вошел"; continue; } else { qDebug() << tag2 << "вошел" << rectangle.attribute("id"); if(gPlace.size() > gList.size()) { rectangle = gNode.nextSiblingElement(tag2); qDebug() << tag2 << "вошел 2 раз" << rectangle.attribute("id"); }
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.Do you like it? Share on social networks!
d
- dsfs
- April 26, 2024, 4:56 a.m.
C ++ - Test 004. Pointers, Arrays and Loops
- Result:80points,
- Rating points4
d
- dsfs
- April 26, 2024, 4:35 a.m.
C++ - Test 001. The first program and data types
- Result:73points,
- Rating points1
Last comments
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий КононенкоFeb. 5, 2024, 1:50 a.m.
EVADec. 25, 2023, 10:30 a.m.
Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Now discuss on the forum
DA
Unlock Your Aesthetic Potential: Explore MSC in Facial Aesthetics and Cosmetology in India Embark on a transformative journey with an msc in facial aesthetics and cosmetology in india . Delve into the intricate world of beauty and rejuvenation, guided by expert faculty and …
Dr Gangil AcademicsApril 20, 2024, 7:45 a.m.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Евгений, добрый день! Такой вопрос. Верно ли следующее утверждение: Любое Android-приложение, написанное на Java/Kotlin чисто теоретически (пусть и с большими трудностями) можно написать и на C+…
Павел ДорофеевApril 14, 2024, 2:35 a.m.
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…
День добрый!
Спасибо большое! Я еще кое-что добавил для поиска всех одинаковых тегов