Ejemplo n.º 1
0
/** This method will parse the
 * XML and add entries to the QList: mRssEntries*/
void UtubeData::parseXml() {
  while (!mXml.atEnd()) {
    mXml.readNext();
    if (mXml.isStartElement()) {
      // if (mXml.name() == "item"){
      // mLinkString = mXml.attributes().value("rss:about").toString();
      //}
      mCurrentTag = mXml.name().toString();
    } else if (mXml.isEndElement()) {
      // qDebug() << mXml.name().toString()<<" ::: " << endl;
      if (mXml.name() == "item") {

        mVideoID = (mLinkString.split("v=")).at(1);
        mThumbString = "http://img.youtube.com/vi/" + mVideoID + "/1.jpg";

        // qDebug() << "UTUBE: " << mThumbString << " : " << endl;

        // mEntry.clear();

        mEntry["title"] = mTitleString;
        mEntry["link"] = mLinkString;
        mEntry["description"] = mDescString;
        mEntry["thumb"] = mThumbString; // 97 130

        // mThumbString = mThumbString.split(QRegExp("\\s+"));

        QVariant rssitem(mEntry);

        // mRssEntries.append(rssitem);
        dataItem = rssitem;
        emit dataReady();

        // mTitleString.clear();
        // mLinkString.clear();
        // mDescString.clear();
        // mThumbString.clear();
      }

    } else if (mXml.isCharacters() && !mXml.isWhitespace()) {
      if (mCurrentTag == "title") {
        mTitleString = mXml.text().toString();
      } else if (mCurrentTag == "link") {
        mLinkString = mXml.text().toString();
      } else if (mCurrentTag == "description") {
        mDescString = mXml.text().toString();
      }
    }
  }

  if (mXml.error() &&
      mXml.error() != QXmlStreamReader::PrematureEndOfDocumentError) {
    qDebug() << "UTUBE: XML ERROR:" << mXml.lineNumber() << ": "
             << mXml.errorString();
    mHttp->abort();
    return;
  }

  // QVariant rss(mRssEntries);
  // emit data(rss);
}
Ejemplo n.º 2
0
/** This method will parse the
 * XML and add entries to the QList: mRssEntries*/
void RssData::parseXml()
{
    while (!mXml.atEnd()) {
        mXml.readNext();
        if (mXml.isStartElement()) {
            if (mXml.name() == "item"){
                mLinkString = mXml.attributes().value("rss:about").toString();
            }
            mCurrentTag = mXml.name().toString();
        } else if (mXml.isEndElement()) {
            if (mXml.name() == "item") {
                qDebug() << mTitleString << " : " << endl;

                //mEntry.clear();

                mEntry["title"] = mTitleString;
                mEntry["link"] = mLinkString;
                mEntry["description"] = mDescString;

                QVariant rssitem(mEntry);

                mRssEntries.append(rssitem);

                mTitleString.clear();
                mLinkString.clear();
            }

        } else if (mXml.isCharacters() && !mXml.isWhitespace()) {
            if (mCurrentTag == "title") {
                mTitleString += mXml.text().toString();
            }
            else if (mCurrentTag == "link") {
                mLinkString += mXml.text().toString();
            }
            else if (mCurrentTag == "description") {
                mDescString += mXml.text().toString();
            }
        }
    }

    if (mXml.error() && mXml.error() !=
        QXmlStreamReader::PrematureEndOfDocumentError) {
        qDebug()<< "XML ERROR:" << mXml.lineNumber() << ": " <<
        mXml.errorString();
        mHttp->abort();
        return;
    }

    //QVariant rss(mRssEntries);
    //emit data(rss);
}