XmlListModel {
id: paramsList
source: "paramsList.xml"
query: "/params/param"
XmlRole { name: "name"; query: "name/string()" }
XmlRole { name: "additionalParams" } // здесь проблема
}
QtQuick, Qml, парсинг Xml
Имеется неожиданный поворот при создании источника данных для 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>
<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 еще не писал) нигде нет примеров или хотя бы фразочки о том, как распарсить данную структуру. Конкретно проблема кроется здесь:
Код:
Каким образом можно это обойти?