diff --git a/dataengines/potd/natgeoprovider.cpp b/dataengines/potd/natgeoprovider.cpp --- a/dataengines/potd/natgeoprovider.cpp +++ b/dataengines/potd/natgeoprovider.cpp @@ -53,10 +53,17 @@ return; } - const QString data = QString::fromUtf8( job->data() ); + const auto data = QString::fromUtf8( job->data() ).split("\n"); mXmlReader.clear(); - mXmlReader.addData(data); + + // NatGeo has a broken DOM, ignore elements which break the DOM + foreach(const auto &e, data) { + if (e.contains("crossorigin")) { + continue; + } + mXmlReader.addData(e); + } QString url; while (!mXmlReader.atEnd()) {