我正在尝试使用QtXmlQuery
从XML中提取一些数据。我想把这个放到QStringList
里。我尝试了以下方法:
QByteArray in = "this is where my xml lives";
QBuffer received;
received.setData(in);
received.open(QIODevice::ReadOnly);
QXmlQuery query;
query.bindVariable("data", &received);
query.setQuery(NAMESPACE //contains definition of the t namespace
"doc($data)//t:service/t:serviceID/text()");
QBuffer outb;
outb.open(QIODevice::ReadWrite);
QXmlSerializer s(query, &outb);
query.evaluateTo(&s);
qDebug() << "buffer" << outb.data(); //This works perfectly!
QStringList * queryResult = new QStringList();
query.evaluateTo(queryResult);
qDebug() << "string list" << *queryResult; //This gives me no output!
正如您所看到的,当我通过QXmlSerializer
将输出发送到QBuffer
中时,一切工作正常……但是当我尝试使用QStringList
时,我什么也得不到。
发布于 2010-08-09 18:50:52
尝试使用string()
而不是text()
,它应该可以工作。
https://stackoverflow.com/questions/2531302
复制相似问题