//============================================================================= bool GoogleEngine::parseCurrentCondition(QXmlStreamReader &xml, WeatherInfo &aInfo) { if (!QString::compare(xml.name().toString(),"current_conditions")) { xml.readNext(); while (!(xml.tokenType() == QXmlStreamReader::EndElement && xml.name() == "current_conditions")) { if ( xml.isStartElement() && xml.name() == "temp_c") { qDebug() << "attribute : " << xml.attributes().value("data").toString(); aInfo.mCurrent.mTemp = xml.attributes().value("data").toString().toInt(); } if ( xml.isStartElement() && xml.name() == "humidity") { qDebug() << "attribute : " << xml.attributes().value("data").toString(); aInfo.mCurrent.mHumidity = xml.attributes().value("data").toString(); } if ( xml.isStartElement() && xml.name() == "condition") { qDebug() << "attribute : " << xml.attributes().value("data").toString(); aInfo.mCurrent.mSkycode = xml.attributes().value("data").toString(); } xml.readNext(); } return true; } return false; }
bool CProjectFileParser::parseXMLFile(QFile &f) { loaded = false; QXmlStreamReader reader; reader.setDevice( &f ); reader.readNext(); if( reader.atEnd() ) return false; while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "project" ) ) ) reader.readNext(); if( reader.atEnd() ) return false; while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "header" ) ) ) reader.readNext(); if( reader.atEnd() ) return false; if( !parseHeader( reader ) ) return false; if( !parseGUIFiles( reader ) ) return false; if( !parseMapFiles( reader ) ) return false; loaded = true; return true; }
void RssParser::parseAtomChannel(QXmlStreamReader& xml, const QString& feedUrl) { qDebug() << Q_FUNC_INFO << feedUrl; Q_ASSERT(xml.isStartElement() && xml.name() == "feed"); QString baseURL = xml.attributes().value("xml:base").toString(); while(!xml.atEnd()) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == "title") { QString title = xml.readElementText(); emit feedTitle(feedUrl, title); } else if (xml.name() == "updated") { QString lastBuildDate = xml.readElementText(); if (!lastBuildDate.isEmpty()) { QMutexLocker locker(&m_mutex); if (m_lastBuildDates.value(feedUrl) == lastBuildDate) { qDebug() << "The RSS feed has not changed since last time, aborting parsing."; return; } m_lastBuildDates[feedUrl] = lastBuildDate; } } else if (xml.name() == "entry") { parseAtomArticle(xml, feedUrl, baseURL); } } } }
//============================================================================= bool GoogleEngine::parseForecastCondition(QXmlStreamReader &xml, WeatherInfo &aInfo, int aForecastDay) { if (!QString::compare(xml.name().toString(),"forecast_conditions")) { xml.readNext(); while (!(xml.tokenType() == QXmlStreamReader::EndElement && xml.name() == "forecast_conditions")) { if ( xml.isStartElement() && xml.name() == "high") { qDebug() << "attribute : " << xml.attributes().value("data").toString(); aInfo.mOneDay[aForecastDay].mTempH = xml.attributes().value("data").toString().toInt(); } if ( xml.isStartElement() && xml.name() == "day_of_week") { qDebug() << "attribute : " << xml.attributes().value("data").toString(); aInfo.mOneDay[aForecastDay].mDay = xml.attributes().value("data").toString(); } if ( xml.isStartElement() && xml.name() == "low") { qDebug() << "attribute : " << xml.attributes().value("data").toString(); aInfo.mOneDay[aForecastDay].mTempL = xml.attributes().value("data").toString().toInt(); } if ( xml.isStartElement() && xml.name() == "condition") { qDebug() << "attribute : " << xml.attributes().value("data").toString(); aInfo.mOneDay[aForecastDay].mSkyCode = xml.attributes().value("data").toString(); } xml.readNext(); } return true; } return false; }
bool PdmlFileFormat::isMyFileFormat(const QString fileName) { bool ret = false; QFile file(fileName); QByteArray buf; QXmlStreamReader xml; if (!file.open(QIODevice::ReadOnly)) goto _exit; xml.setDevice(&file); xml.readNext(); if (xml.hasError() || !xml.isStartDocument()) goto _close_exit; // skip everything until the start of the first element while (!xml.isStartElement()) { xml.readNext(); if (xml.hasError()) goto _close_exit; } if (!xml.hasError() && xml.isStartElement() && (xml.name() == "pdml")) ret = true; else ret = false; _close_exit: xml.clear(); file.close(); _exit: return ret; }
/*! * \brief Parse and show the output from git-log * * We parse the output from previous git-log, and * then show the result in a QListWidget. The hash from * git log is not shown, but is used later to allow the * user to select an item, an recover that point in * history. */ void GitManager::slotUpdateHistory() { QString data = "<gitHistory>\n"; data.append(gitProcessHistory->readAllStandardOutput()); data.append("\n</gitHistory>"); ui.listHistory->clear(); QXmlStreamReader *reader = new QXmlStreamReader(data.toUtf8()); while(!reader->atEnd()) { reader->readNext(); if(reader->isStartElement() && reader->name() == "commit") { QListWidgetItem *item = new QListWidgetItem(ui.listHistory); while(!reader->isEndElement() || reader->name() != "commit") { reader->readNext(); if(reader->isStartElement() && reader->name() == "msg") { item->setText(reader->readElementText()); } else if(reader->isStartElement() && reader->name() == "hash") { item->setData(Qt::AccessibleDescriptionRole, reader->readElementText()); } } } } }
KnowledgeBase::Metadata KnowledgeBaseParser::parseMetadata( QXmlStreamReader &xml ) { KnowledgeBase::Metadata meta; meta.status.clear(); meta.message.clear(); meta.totalItems = 0; meta.itemsPerPage = 0; while ( !xml.atEnd() ) { xml.readNext(); if (xml.isStartElement() && xml.name() == "meta") { while ( !xml.atEnd() ) { xml.readNext(); if (xml.isEndElement() && xml.name() == "meta") { break; } else if (xml.isStartElement()) { if (xml.name() == "status") { meta.status = xml.readElementText(); } else if (xml.name() == "message") { meta.message = xml.readElementText(); } else if (xml.name() == "totalitems") { meta.totalItems = xml.readElementText().toInt(); } else if (xml.name() == "itemsperpage") { meta.itemsPerPage = xml.readElementText().toInt(); } } } break; } } return meta; }
bool CProjectFileParser::parseMapFiles( QXmlStreamReader &reader ) { while( !reader.atEnd() && !( reader.isStartElement() && reader.name() == "mapfiles" ) ) reader.readNext(); if( reader.atEnd() ) return false; while( !reader.atEnd() && !( reader.isEndElement() && ( reader.name() == "mapfiles" ) ) ) { if( reader.isStartElement() && ( reader.name() == "file" ) ) { QString fileName = reader.readElementText( QXmlStreamReader::ErrorOnUnexpectedElement ); if( fileName.isEmpty() ) return false; files.mapFiles.push_back( fileName.toUtf8().constData() ); } reader.readNext(); } if( files.mapFiles.empty() ) return false; return true; }
void CWidgetPropParser::parseGUIWidgetXML( QFile &file ) { QXmlStreamReader reader; reader.setDevice( &file ); reader.readNext(); if( reader.atEnd() ) return; while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "widget" ) ) ) reader.readNext(); if( reader.atEnd() ) return; while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "header" ) ) ) reader.readNext(); if( reader.atEnd() ) return; QString name = parseGUIWidgetHeader( reader ); if( name.isEmpty() ) { nlwarning( "malformed XML." ); return; } while( !reader.atEnd() && !( reader.isStartElement() && ( reader.name() == "properties" ) ) ) reader.readNext(); if( reader.atEnd() ) return; parseGUIWidgetProperties( reader, name ); }
QMultiMap<QString, QString>* FileManager::caricaCollegamenti() const { QMultiMap<QString, QString>* lista = new QMultiMap<QString, QString>(); QXmlStreamReader rxml; QFile file(_fileNameReti); if (file.open(QFile::ReadOnly | QFile::Text)) { rxml.setDevice(&file); rxml.readNext(); QString utente1, utente2; bool collegamentoAperto = false; while(!rxml.atEnd()) { if(rxml.isStartElement()) { if(rxml.name() == "Rete") rxml.readNext(); else if(rxml.name() == "Collegamento") { collegamentoAperto = true; while(!rxml.atEnd()) { if(rxml.isEndElement()) { if(collegamentoAperto) { lista->insert(utente1, utente2); collegamentoAperto = false; } rxml.readNext(); break; } else if(rxml.isCharacters()) rxml.readNext(); else if(rxml.isStartElement()) { if(rxml.name() == "Utente1") utente1 = rxml.readElementText(); else if(rxml.name() == "Utente2") utente2 = rxml.readElementText(); rxml.readNext(); } else rxml.readNext(); } } } else rxml.readNext(); } file.close(); } return lista; }
void CWidgetPropParser::parseGUIWidgetProperties( QXmlStreamReader &reader, const QString &widgetName ) { reader.readNext(); if( reader.atEnd() ) return; std::map< std::string, SWidgetInfo >::iterator itr = widgetInfo->find( widgetName.toUtf8().constData() ); if( itr == widgetInfo->end() ) return; std::vector< SPropEntry > &v = itr->second.props; while( !reader.atEnd() && !( reader.isEndElement() && ( reader.name() == "properties" ) ) ) { if( reader.isStartElement() && reader.name() == "property" ) { SPropEntry prop; reader.readNext(); while( !reader.atEnd() && !( reader.isEndElement() && ( reader.name() == "property" ) ) ) { if( reader.isStartElement() ) { QString key = reader.name().toString(); QString value = reader.readElementText( QXmlStreamReader::ErrorOnUnexpectedElement ); if( !reader.hasError() ) { if( key == "name" ) prop.propName = value.toUtf8().constData(); else if( key == "type" ) prop.propType = value.toUtf8().constData(); else if( key == "default" ) prop.propDefault = value.toUtf8().constData(); else nlwarning( QString( "Unknown tag %1 within a property" ).arg( key ).toUtf8().constData() ); } else nlwarning( "Malformed XML." ); } reader.readNext(); } if( reader.atEnd() ) return; v.push_back( prop ); } reader.readNext(); } }
QStringList rpnoc::Profile::readXml( const QString &iUsername ) { QString oUser, oPass, oAddr, oPort; QString oUserName = iUsername.toLower(); QFile oFile("profiles/" + oUserName + "/" + oUserName + ".xml"); if( !oFile.open( QIODevice::ReadOnly ) ) { log_e( "Failed to open file '" + oFile.errorString() + "' for reading." ); } QXmlStreamReader oReader; oReader.setDevice( &oFile ); oReader.readNext(); while(!oReader.atEnd()){ if(oReader.isStartElement()){ if(oReader.name() == "personalia"){ oReader.readNext(); while(!oReader.atEnd()){ if(oReader.isEndElement()){ oReader.readNext(); } if(oReader.isStartElement()){ if(oReader.name() == "user"){ oUser = oReader.attributes().value("username").toString(); oReader.readNext(); }else if(oReader.name() == "pass"){ oPass = oReader.attributes().value("password").toString(); oReader.readNext(); }else if(oReader.name() == "addr"){ oAddr = oReader.attributes().value("address").toString(); oReader.readNext(); }else if(oReader.name() == "port"){ oPort = oReader.attributes().value("portnr").toString(); oReader.readNext(); } }else{ oReader.readNext(); } } }else{ oReader.raiseError(QObject::tr("Not a user file")); } }else{ oReader.readNext(); } } oFile.close(); QStringList oStringList; oStringList << oUser << oPass << oAddr << oPort; return oStringList; }
CQTs_Class::CQTs_Class(QXmlStreamReader &xml){ spellcaster = false; //trusting this:if(xml.name()=="class"&&xml.isStartElement()) QString code = xml.attributes().value("code").toString(); append(code); Name = code;//in case classnames are not loaded bool bab1=false,bab2=false; int bab = xml.attributes().value("bab").toInt(); if(bab==1) bab1=true; else if(bab==2) bab2=true; bool f = xml.attributes().value("fort").toInt(); bool r = xml.attributes().value("ref").toInt(); bool w = xml.attributes().value("will").toInt(); bool data[5] = {bab1,bab2,f,r,w}; std::copy(data,data+5,info); lmax = xml.attributes().value("lmax").toInt(); QStringList skillList; do{ xml.readNext(); if(xml.name()=="classskills"&&xml.isStartElement()){ do{ xml.readNext(); if(xml.name()=="skill"&&xml.isStartElement()){ QString skillcode = xml.attributes().value("code").toString(); skillList.push_back(skillcode); } }while(!(xml.name()=="classskills"&&xml.isEndElement())); } if(xml.name()=="progression"&&xml.isStartElement()){//load progression DV = xml.attributes().value("dv").toInt(); Ranks = xml.attributes().value("skillpoints").toInt(); do{ xml.readNext(); if(xml.name()=="level"&&xml.isStartElement()){ //spell progression int lv = xml.attributes().value("n").toInt(); if(xml.attributes().hasAttribute("spells")){ spellcaster = true; for (int i = spellNumberList.size(); i < lv-1; ++i) spellNumberList.append("-"); spellNumberList.append(xml.attributes().value("spells").toString()); } } }while(!(xml.name()=="progression"&&xml.isEndElement())); } }while(!(xml.isEndElement()&&xml.name()=="class")); if(skillList.size()>0) setSkills(skillList); }
void cProfileSettings::load () { cProfileManager *pm = cProfileManager::self(); QString path = pm->profilePath (d->profileId); QDir dir = QDir (path); if (!dir.exists()) QDir::root().mkpath (dir.absolutePath()); QFile f (path + "/settings.xml"); if (!f.open(QIODevice::ReadOnly | QIODevice::Text)) { kWarning() << "No settings file - nothing to do." << endl; return; // no profiles - nothing to do } QXmlStreamReader *reader = new QXmlStreamReader (&f); reader->readNext (); // read the document start reader->readNext (); if (reader->isStartElement ()) if (reader->name() == "profile") if (reader->attributes().value ("version") == "1.0") { // okay, read the list while (!reader->atEnd()) { reader->readNext (); if (reader->isStartElement () && (reader->name() == "setting")) { QString type = reader->attributes().value ("type").toString(); QString name = reader->attributes().value ("name").toString(); QString value = reader->attributes().value ("value").toString(); if (type == "integer") setInt (name, value.toInt()); else if (type == "bool") setBool (name, (value == "true")); else if (type == "string") setString (name, value); else kDebug() << "Unrecognized setting type " << type << endl; } } } else reader->raiseError ("Unknown profile file version."); else reader->raiseError ("This is not a valid profile list file."); else reader->raiseError ("This file is corrupted."); if (reader->hasError()) { kWarning() << ("Error in settings.xml at line " + QString::number (reader->lineNumber()) + ", column " + QString::number (reader->columnNumber()) + QString (": ") + reader->errorString()) << endl; } // close the file f.close (); delete reader; }
void LinNativeDisplayForm::parseRSSChannel( QXmlStreamReader &textReader) { QString htmlOutput = htmlPrefix; while (!textReader.atEnd()) { textReader.readNext(); if (textReader.isStartElement()) { if (textReader.name() == "item") { parseRSSItem(htmlOutput, textReader); } } else if (textReader.isEndElement()) { if (textReader.name() == "channel") { htmlOutput +=" </body>\n</html>"; setHtml(htmlOutput, sourceUrl); break; } } } }
void PumpSpreadsheet::readTransactionElement(QXmlStreamReader &reader) { QMap<QString, QString> map; reader.readNext(); while (!reader.atEnd()) { if (reader.isEndElement()) { reader.readNext(); break; } if (reader.isStartElement()) { QString key = reader.name().toString(); map.insert(key, reader.readElementText()); } reader.readNext(); } QStringList fields; fields << map.value("date") << map.value("time") << map.value("pump") << map.value("company") << map.value("user") << map.value("quantity") << map.value("status"); addItem(fields); }
Forum Forum::Parser::parseXml(QXmlStreamReader &xml) { Forum forum; while (!xml.atEnd()) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == QLatin1String("id")) { forum.setId(xml.readElementText()); } else if (xml.name() == QLatin1String("name")) { forum.setName(xml.readElementText()); } else if (xml.name() == QLatin1String("description")) { forum.setDescription(xml.readElementText()); } else if (xml.name() == QLatin1String("date")) { forum.setDate(Utils::parseQtDateTimeIso8601(xml.readElementText())); } else if (xml.name() == QLatin1String("icon")) { forum.setIcon(QUrl(xml.readElementText())); } else if (xml.name() == QLatin1String("childcount")) { forum.setChildCount(xml.readElementText().toInt()); } else if (xml.name() == QLatin1String("children")) { QList<Forum> children = parseXmlChildren(xml); forum.setChildren(children); } else if (xml.name() == QLatin1String("topics")) { forum.setTopics(xml.readElementText().toInt()); } } else if (xml.isEndElement() && xml.name() == QLatin1String("forum")) { break; } } return forum; }
void DictionaryLineDescHandler::run(QXmlStreamReader& xml) { m_units = getUnitAttribute(xml, "DictionaryLineDesc", "units"); while (!xml.atEnd() && !xml.hasError()) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == "EntryLineDesc") { QString id = getStringAttribute(xml, "EntryLineDesc", "id"); // id must be unique if (g_entryLineDescs.contains(id)) { throw new DuplicateIdError("DictionaryLineDesc", id); } // create element and insert to hash table xml.readNextStartElement(); // <LineDesc> LineDesc l; l.initialize(xml, m_units); g_entryLineDescs.insert(id, l); } } else if (isEndElementWithName(xml, "DictionaryLineDesc")) { break; } } }
void Polygon::initialize(QXmlStreamReader& xml, UnitsType units) { while (!xml.atEnd() && !xml.hasError()) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == "PolyBegin") { m_polyBegin.rx() = toInch( getDoubleAttribute(xml, "PolyBegin", "x"), units); m_polyBegin.ry() = toInch( getDoubleAttribute(xml, "PolyBegin", "y"), units); } else if (isSubstitutionGroupPolyStep(xml.name())) { PolyStep *p = PolyStepFactory().create(xml.name()); p->initialize(xml, units); m_polySteps.append(p); } } else if (isEndElementWithName(xml, "Polygon") || // </Polygon> the end isEndElementWithName(xml, "Cutout")) { // another possible name if (!isClosedShape()) { throw new InvalidElementError("Polygon"); } return; } } }
// Read all current controls from an XML stream bool US_RunProtocol::fromXml( QXmlStreamReader& xmli ) { while( ! xmli.atEnd() ) { xmli.readNext(); if ( xmli.isStartElement() ) { QString ename = xmli.name().toString(); if ( ename == "protocol" ) { QXmlStreamAttributes attr = xmli.attributes(); protname = attr.value( "description" ).toString(); pGUID = attr.value( "guid" ).toString(); optimahost = attr.value( "optima_host" ).toString(); investigator = attr.value( "investigator" ).toString(); temperature = attr.value( "temperature" ).toString().toDouble(); QString s_ted = attr.value( "temeq_delay" ).toString(); temeq_delay = s_ted.isEmpty() ? temeq_delay : s_ted.toDouble(); } else if ( ename == "rotor" ) { rpRotor.fromXml( xmli ); } else if ( ename == "speed" ) { rpSpeed.fromXml( xmli ); } else if ( ename == "cells" ) { rpCells.fromXml( xmli ); } else if ( ename == "solutions" ) { rpSolut.fromXml( xmli ); } else if ( ename == "optics" ) { rpOptic.fromXml( xmli ); } else if ( ename == "ranges" ) { rpRange.fromXml( xmli ); } else if ( ename == "spectra" ) { rpRange.fromXml( xmli ); } } } return ( ! xmli.hasError() ); }
RemoteAccount RemoteAccount::Parser::parseXml(QXmlStreamReader& xml) { RemoteAccount remoteaccount; // For specs about the XML provided, see here: // http://www.freedesktop.org/wiki/Specifications/open-collaboration-services-draft#RemoteAccounts while (!xml.atEnd()) { //qDebug() << "XML returned:" << xml.text().toString(); xml.readNext(); if (xml.isStartElement()) { if (xml.name() == "id") { remoteaccount.setId(xml.readElementText()); } else if (xml.name() == "type") { remoteaccount.setType(xml.readElementText()); } else if (xml.name() == "typeid") { // FIXME: change to remoteserviceid sometime soon (OCS API change pending remoteaccount.setRemoteServiceId(xml.readElementText()); } else if (xml.name() == "data") { remoteaccount.setData(xml.readElementText()); } else if (xml.name() == "login") { remoteaccount.setLogin(xml.readElementText()); } else if (xml.name() == "password") { remoteaccount.setPassword(xml.readElementText()); } } else if (xml.isEndElement() && (xml.name() == "remoteaccount" || xml.name() == "user")) { break; } } return remoteaccount; }
//Get config from xml file void queryFromConfigStream(QXmlStreamReader& reader) { xgxPerfConfigParams* inParams; QString currVal1, currVal2, currName; while (!reader.atEnd()) { reader.readNext(); if (reader.isStartElement()) { if(reader.name() == "object") { currVal1 = reader.attributes().value("type").toString(); //qDebug() << "object type = " << currVal1; inParams = new xgxPerfConfigParams; xgxPerfConfigParamsList << inParams; } else if(reader.name() == "param") { currName = reader.attributes().value("name").toString(); currVal2 = reader.attributes().value("value").toString(); //qDebug() << "param name = " << currName << " ,value = " << currVal2 ; if(currName == "iconName") inParams->iconName = currVal2; else if(currName == "iconLabel") inParams->iconLabel = currVal2; else if(currName == "appName") inParams->appName = currVal2; else if(currName == "appParameters") inParams->appParameters = currVal2; else if(currName == "appParameters2") inParams->appParameters2 = currVal2; } } } if (reader.hasError()) { qDebug() << " Error in HTML file formation" << reader.errorString(); } }
// Read all current Optical Systems controls from an XML stream bool US_RunProtocol::RunProtoOptics::fromXml( QXmlStreamReader& xmli ) { nochan = 0; chopts.clear(); while( ! xmli.atEnd() ) { QString ename = xmli.name().toString(); if ( xmli.isStartElement() ) { if ( ename == "optical_system" ) { OpticSys os; QXmlStreamAttributes attr = xmli.attributes(); os.channel = attr.value( "channel" ).toString(); os.scan1 = attr.value( "scan1" ).toString(); os.scan2 = attr.value( "scan2" ).toString(); os.scan3 = attr.value( "scan3" ).toString(); chopts << os; nochan++; } } bool was_end = xmli.isEndElement(); // Just read was End of element? xmli.readNext(); // Read the next element if ( was_end && ename == "optics" ) // Break after "</optics>" break; } return ( ! xmli.hasError() ); }
Distance::Distance(QXmlStreamReader &xmlReader) { xmlReader.readNext(); while(!xmlReader.atEnd()) { if (xmlReader.isEndElement()) { xmlReader.readNext(); break; } if (xmlReader.isStartElement()) { if (xmlReader.name() == "dist") { dist = xmlReader.readElementText().toDouble(); xmlReader.readNext(); } else if (xmlReader.name() == "unit") { QString u = xmlReader.readElementText(); if (u == "KM") { unit = KM; } else if (u == "MILE") { unit = MILE; } else { unit = KM; } xmlReader.readNext(); } else { Helper::skipUnknownElements(xmlReader); } } else { xmlReader.readNext(); } } }
void GlobStore::readData(QXmlStreamReader& xml) { int tmp; while (!xml.atEnd()) { xml.readNext(); if (xml.isEndElement()) break; if (xml.name() == "timeMode") { tmp =xml.readElementText().toInt(); timeModeBox->setCurrentIndex(tmp); updateTimeModeBox(tmp); } else if (xml.name() == "switchAtBeat") { tmp =xml.readElementText().toInt(); switchAtBeatBox->setCurrentIndex(tmp); updateSwitchAtBeat(tmp); } else if (xml.name() == "timeModule") { tmp =xml.readElementText().toInt(); if (tmp > -1) timeModuleBox->setCurrentIndex(tmp); updateTimeModule(tmp); } else if (xml.isStartElement() && (xml.name() == "midiControllers")) { midiControl->readData(xml); } else skipXmlElement(xml); } modified = false; }
QDebug operator<<(QDebug dbg, const QXmlStreamReader& reader) { dbg.nospace() << "QXmlStreamReader("; if (reader.isStartElement()) { dbg.nospace() << "<"; dbg.nospace() << reader.qualifiedName().toString().toLocal8Bit().constData(); QString attrsString; const QXmlStreamAttributes& attrs = reader.attributes(); for (int i = 0; i < attrs.count(); i++) { dbg.nospace() << " " << attrs[i].qualifiedName().toString().toLocal8Bit().constData(); dbg.nospace() << "="; dbg.nospace() << attrs[i].value().toString(); } if (reader.isEndElement()) { dbg.nospace() << "/>)"; } else { dbg.nospace() << ">)"; } } else if (reader.isEndElement()) { dbg.nospace() << "</" << reader.qualifiedName().toString().toLocal8Bit().constData() << ">)"; } else if (reader.isCharacters()) { dbg.nospace() << "characters:" << reader.text() << ")"; } else if (reader.isComment()) { dbg.nospace() << "<!-- " << reader.text().toString().toLocal8Bit().constData() << " -->)"; } else if (reader.isCDATA()) { dbg.nospace() << "CDATA:" << reader.text() << ")"; } else if (reader.isWhitespace()) { dbg.nospace() << "whitespace:" << reader.text() << ")"; } else { dbg.nospace() << reader.tokenString() << reader.text(); } return dbg.space(); }
void GlobStore::skipXmlElement(QXmlStreamReader& xml) { if (xml.isStartElement()) { qWarning("Unknown Element in XML File: %s",qPrintable(xml.name().toString())); while (!xml.atEnd()) { xml.readNext(); if (xml.isEndElement()) break; if (xml.isStartElement()) { skipXmlElement(xml); } } } }
int CVBAOptions::fromXml(QXmlStreamReader& XmlReader) { /* Emulator-spezifische Optionen einlesen */ while(!XmlReader.atEnd()) { XmlReader.readNext(); if(XmlReader.isStartElement()) { if(XmlReader.qualifiedName().toString()=="commandline") { // Befehlszeile this->setEmuCommand(XmlReader.readElementText()); } else if(XmlReader.qualifiedName().toString()=="fullscreen") { //Vollbildmodus if(XmlReader.readElementText()=="true") this->setFullscreen(true); else this->setFullscreen(false); } else if(XmlReader.qualifiedName().toString()=="scale") { //Fenstervergrößerung this->setScale(XmlReader.readElementText().toShort()); } } else if(XmlReader.isEndElement() && XmlReader.qualifiedName().toString()=="options") { /* Abbruch, wenn Optionen zu Ende sind */ break; // Ende der Optionenliste erreicht } } return 0; }
Question XmlUtil::parseIdentificationQuestion(QXmlStreamReader &reader) { assert(reader.name() == "identification"); const QXmlStreamAttributes &attrs = reader.attributes(); Question q; q.type = Question::IDENTIFICATION; optional_assign(attrs, "score", q.score, reader); optional_assign(attrs, "time_limit", q.time_limit, reader); optional_assign(attrs, "id", q.id, reader); while ( !reader.atEnd() ) { reader.readNext(); { const QStringRef &ns = reader.namespaceUri(); if ( !ns.isEmpty() && ns != XML_NS ) continue; } if ( reader.isStartElement() ) { if ( reader.name() == "q" ) { q.question = reader.readElementText(); } else if ( reader.name() == "a" ) { QString answer = reader.readElementText(); q.answer_key.push_back(Question::AnswerKeyEntry(answer, true)); q.answer.append(answer+" - "); } else if ( reader.name() == "identification" ) { throw InvalidXmlException("'identification' tag found inside 'identification'.", reader); } else { //barf? } } else if ( reader.isEndElement() && reader.name() == "identification" ) break; } return q; }
void Features::initialize(QXmlStreamReader& xml, UnitsType units) { m_xform = NULL; m_feature = NULL; while (!xml.atEnd() && !xml.hasError()) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == "Xform") { m_xform = new Xform(); m_xform->initialize(xml); } else if (xml.name() == "Location") { m_location = QPointF( toInch(getDoubleAttribute(xml, "Location", "x"), units), toInch(getDoubleAttribute(xml, "Location", "y"), units)); } else if (isSubstitutionGroupFeature(xml.name())) { m_feature = FeatureFactory().create(xml.name()); m_feature->initialize(xml, units); } } else if (isEndElementWithName(xml, "Features")) { // </Features> if (m_feature == NULL) { throw new InvalidElementError("Features"); } return; } } }