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

Reading xml from url with QXmlQuery (without temporary file)

本文关键字:临时文件 xml QXmlQuery url 读取 使用      更新时间:2023-10-16

我从服务器下载了一个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 &'
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() )