void CardDatabase::loadSetsFromXml(QXmlStreamReader &xml) { while (!xml.atEnd()) { if (xml.readNext() == QXmlStreamReader::EndElement) break; if (xml.name() == "set") { QString shortName, longName, setType; QDate releaseDate; while (!xml.atEnd()) { if (xml.readNext() == QXmlStreamReader::EndElement) break; if (xml.name() == "name") shortName = xml.readElementText(); else if (xml.name() == "longname") longName = xml.readElementText(); else if (xml.name() == "settype") setType = xml.readElementText(); else if (xml.name() == "releasedate") releaseDate = QDate::fromString(xml.readElementText(), Qt::ISODate); } CardSet * newSet = getSet(shortName); newSet->setLongName(longName); newSet->setSetType(setType); newSet->setReleaseDate(releaseDate); } } }