Examples: properly parse more than one element in maps and lists
Change-Id: I46363e5b8944459e8c48fffd158c03bca4b7394e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
This commit is contained in:
parent
7148dfc67f
commit
66fc17eb5c
@ -70,7 +70,7 @@ static QVariant variantFromXml(QXmlStreamReader &xml, Converter::Options options
|
|||||||
static QVariantList listFromXml(QXmlStreamReader &xml, Converter::Options options)
|
static QVariantList listFromXml(QXmlStreamReader &xml, Converter::Options options)
|
||||||
{
|
{
|
||||||
QVariantList list;
|
QVariantList list;
|
||||||
while (!xml.atEnd() && !xml.isEndElement()) {
|
while (!xml.atEnd() && !(xml.isEndElement() && xml.name() == QLatin1String("list"))) {
|
||||||
xml.readNext();
|
xml.readNext();
|
||||||
switch (xml.tokenType()) {
|
switch (xml.tokenType()) {
|
||||||
case QXmlStreamReader::StartElement:
|
case QXmlStreamReader::StartElement:
|
||||||
@ -107,7 +107,7 @@ static QVariantList listFromXml(QXmlStreamReader &xml, Converter::Options option
|
|||||||
static VariantOrderedMap::value_type mapEntryFromXml(QXmlStreamReader &xml, Converter::Options options)
|
static VariantOrderedMap::value_type mapEntryFromXml(QXmlStreamReader &xml, Converter::Options options)
|
||||||
{
|
{
|
||||||
QVariant key, value;
|
QVariant key, value;
|
||||||
while (!xml.atEnd() && !xml.isEndElement()) {
|
while (!xml.atEnd() && !(xml.isEndElement() && xml.name() == QLatin1String("entry"))) {
|
||||||
xml.readNext();
|
xml.readNext();
|
||||||
switch (xml.tokenType()) {
|
switch (xml.tokenType()) {
|
||||||
case QXmlStreamReader::StartElement:
|
case QXmlStreamReader::StartElement:
|
||||||
@ -150,7 +150,7 @@ static QVariant mapFromXml(QXmlStreamReader &xml, Converter::Options options)
|
|||||||
QVariantMap map1;
|
QVariantMap map1;
|
||||||
VariantOrderedMap map2;
|
VariantOrderedMap map2;
|
||||||
|
|
||||||
while (!xml.atEnd() && !xml.isEndElement()) {
|
while (!xml.atEnd() && !(xml.isEndElement() && xml.name() == QLatin1String("map"))) {
|
||||||
xml.readNext();
|
xml.readNext();
|
||||||
switch (xml.tokenType()) {
|
switch (xml.tokenType()) {
|
||||||
case QXmlStreamReader::StartElement:
|
case QXmlStreamReader::StartElement:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user