使用QXmlQuery从url读取xml(没有临时文件)

时间:2012-12-24 13:11:39

标签: c++ xml qt

我从服务器下载了一个xml文件。 我可以用QXmlQuery解析它,如果它写入文件,但是 我如何从“回复”(QNetworkReply)解析它?

有一个QXmlStreamReader,但我似乎找不到方法 连接阅读器和查询

编辑我不知道如何在QIODevice中回复,

reply->open(QIODevice::ReadOnly);
QXmlQuery query1;
QXmlNamePool namePool(query1.namePool());
query1.bindVariable(QXmlName(namePool, QString("kmlFile")),reply->readAll());

但我收到错误

QXmlQuery::bindVariable(const QXmlName &,const QXmlItem &)' : cannot convert parameter 2 from 'QByteArray' to 'const QXmlItem &'

1 个答案:

答案 0 :(得分:0)

QNetworkAccessManager *manager = new QNetworkAccessManager( this );
QNetworkReply* reply = QNetworkAccessManager::get( manager->get( QNetworkRequest( QUrl("http://www.foo.com/example.xml") ) ) ;
//QXmlStreamReader reader( reply );
QXmlQuery query;
query.setQuery(reply); 

还有一种方法
void QXmlQuery::setQuery ( const QUrl & queryURI, const QUrl & baseURI = QUrl() )