powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / qxmlstreamreader
7 сообщений из 7, страница 1 из 1
qxmlstreamreader
    #38220939
sterewert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер.

Задача вытащить все пары имен и значений атрибута из xml;
Можно ли как-то с помощью qxmlstreamreader пройтись по именам атрибутов элемента, не задавая имени атрибута?
...
Рейтинг: 0 / 0
qxmlstreamreader
    #38220965
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sterewert,

reader.attributes() возвращает вектор из всех атрибутов текущего тега. Просто в цикле их прочтите (как массив).
...
Рейтинг: 0 / 0
qxmlstreamreader
    #38220983
sterewert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly Moskovsky,

там только значения атрибута

xml.attributes().value(atr_name).toString();

а как можно имя атрибута вытащить?
...
Рейтинг: 0 / 0
qxmlstreamreader
    #38220987
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sterewert,

Прочитайте еще раз что я написал

авторПросто в цикле их прочтите (как массив)
...
Рейтинг: 0 / 0
qxmlstreamreader
    #38220992
sterewert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly Moskovsky,

Посыпаю голову пеплом, работает. Спасибо.

xml.attributes()[1].name().toString();
...
Рейтинг: 0 / 0
qxmlstreamreader
    #38220993
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не думал что такой ответ вызовет проблемы с пониманием.
Чтобы закрыть эту тему - пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
QXmlStreamAttributes attrs = xml.attributes();
for (size_t i = 0; i < attrs.size(); ++I) {
  QXmlStreamAttribute& attr = attrs[i];
  cout << attr.name().toString();
  cout << attr.value().toString();
}
...
Рейтинг: 0 / 0
qxmlstreamreader
    #38220995
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sterewertxml.attributes()[1].name().toString();
На всякий случай напоминаю, что индексы начинаются с 0.
А то мало ли :)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / qxmlstreamreader
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]