Skip to content

Instantly share code, notes, and snippets.

@vmlemon
Created July 7, 2011 23:53
Show Gist options
  • Select an option

  • Save vmlemon/1070817 to your computer and use it in GitHub Desktop.

Select an option

Save vmlemon/1070817 to your computer and use it in GitHub Desktop.
QString MainWindow::GetLastFmLatestTrack(QString aXmlData) {
QString workingPayload = aXmlData.remove("</track>").remove("</recenttracks>").simplified();
QString artistElement;
QString nameElement;
QString artistHyphenTitle;
int artistOffset = aXmlData.indexOf("<artist");
int nameOffset = workingPayload.indexOf("<name>");
if (aXmlData.length() !=0) {
/* Strip away everything before <artist> */
artistElement = workingPayload.remove(0, artistOffset + 40);
artistOffset = workingPayload.indexOf("<artist");
/* Toss artistElement's content back upstream... */
workingPayload = artistElement;
/* Extract the artist metadata */
artistElement.truncate(artistElement.indexOf("</artist>"));
/* Quick-and-dirty name fetching */
nameOffset = workingPayload.indexOf("<name>");
nameElement = workingPayload;
nameElement.remove(0, artistOffset + artistElement.size() + 1);
nameElement.remove("</artist> <name>");
nameElement.truncate(nameElement.indexOf("</name>"));
artistHyphenTitle.append(artistElement).append(" - ").append(nameElement);
return artistHyphenTitle;
}
else {
return "No data";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment