Russian Qt Forum
Ноябрь 22, 2024, 16:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QT QXmlQuery вернуть массив  (Прочитано 2814 раз)
ivashka
Гость
« : Июль 09, 2011, 17:32 »

Здравствуйте.
Делаю запрос, получаю данные, но при помощи evaluateTo получаю их в строку, что не удобно для работы.
Вид XML следующий:
Код:
<items>
                    <item>
                        <id>102044</id>
                        <image>parcer_13_1310215068.jpg</image>
                        <name>Harley Davidson Touring Road King</name>
                        <date>3/2006</date>
                        <price>5554</price>
                        <valuta>EUR</valuta>
                        <timeadded>1310215068</timeadded>
                    </item>
                   

                    <item>
                        <id>102041</id>
                        <image>parcer_28_1310215003.jpg</image>
                        <name>Aprilia RS 50 Motorhispania Sondermodell RACING</name>
                        <date>4/2004</date>
                        <price>1234</price>
                        <valuta>EUR</valuta>
                        <timeadded>1310215003</timeadded>
                    </item>
                   
</items>

Мне нужно получить многомерный массив, вида:
Array (
  • {
[id]=значение
[image] = значение
[name] = значение
[date] = значение
[price] = значение
[valuta] = значение
[timeadded] = значение
}
[1] {
[id]=значение
[image] = значение
[name] = значение
[date] = значение
[price] = значение
[valuta] = значение
[timeadded] = значение

и т.д.
}
)

Мой код который получает ид в строку:
 
Код:
QByteArray data = reply->readAll();
    qDebug() << data;
    QXmlQuery query;
    QString toinputxml;
    toinputxml = data;
    query.setFocus(toinputxml.toUtf8());
    query.setQuery("/items/item/id/text()");
    QString str;
    query.evaluateTo(&str);
    qDebug() << str;

Данные получаю с сервера, ид успешно матчатся, но только в строку, и только соответственно ид.

как лучше быть в моем случае, спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 21.