Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

QtQuick, Qml, парсинг Xml

9.1K
06 марта 2013 года
motorw
134 / / 15.12.2009
Всем привет!

Имеется неожиданный поворот при создании источника данных для ListView в QML.

В общем, начну сначала:
Пусть есть xml:
Код:
<params>
   <param>
     <name>ParamName1</name>
     <additionalParams>
       <additionalParam>
     <textvalue>
       234234133123
     </textvalue>
     <stringvalue>
       123143sdfsfdsfsasd
     </stringvalue>
       </additionalParam>
     </additionalParams>

     <additionalParams>
       <additionalParam>
     <textvalue>
       234234133123
     </textvalue>
     <stringvalue>
       123143sdfsfdsfsasd
     </stringvalue>
       </additionalParam>
     </additionalParams>
    </param>
 </params>
Конкретно это я все сейчас сам наобум придумал, но структура именно такая.

Т.е. Есть какие-то параметры, т.е. массив (params). В этом массиве у каждого параметра имеются как и свои значения, так и массивы с подпараметрами(additionalParams), которых тоже может быть много.

Дело в том, что в книжке Шлее, как и в инете(на stackoverflow еще не писал) нигде нет примеров или хотя бы фразочки о том, как распарсить данную структуру. Конкретно проблема кроется здесь:
 
Код:
XmlListModel {
        id: paramsList
        source: "paramsList.xml"
        query: "/params/param"

        XmlRole { name: "name"; query: "name/string()" }
        XmlRole { name: "additionalParams" }  // здесь проблема
    }
То есть проблема в том, что никак нельзя представить в qml для одного параметра XmlRole массив, а только скаляр.

Каким образом можно это обойти?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог