void ApiComponent::getPlaylistFromReply(QNetworkReply *reply) { QDomDocument domDocument; domDocument.setContent(reply->readAll()); QDomElement responseElement = domDocument.firstChildElement(); //! <response list = true> QDomNode itemNode = responseElement.firstChildElement(); //! <audio> Playlist playlist; while(!itemNode.isNull()) { PlaylistItem data; QString const artist = itemNode.toElement().elementsByTagName("artist").item(0).toElement().text(); QString const title = itemNode.toElement().elementsByTagName("title").item(0).toElement().text(); QString const duration = itemNode.toElement().elementsByTagName("duration").item(0).toElement().text(); QString const url = itemNode.toElement().elementsByTagName("url").item(0).toElement().text(); if (!artist.isEmpty() && !title.isEmpty() && !duration.isEmpty() && !url.isEmpty()) { data[Artist] = artist; data[Title] = title; data[Duration] = duration; data[Url] = url; playlist.push_back(data); } itemNode = itemNode.nextSibling(); } reply->deleteLater(); emit playlistReceived(playlist); }