1

QtXmlQueryXMLからいくつかのデータを抽出するために使用しようとしています。これを に入れたいと思い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!

ご覧のとおり、出力を aQBufferを介して aに送信するとすべて正常に動作しQXmlSerializerますが、 a を使用しようとしても何も得られませんQStringList

4

1 に答える 1

2

Try to use string() instead of text(), it should work.

于 2010-08-09T10:50:52.163 に答える