nun endlich seit Qt4.4 gibt es auch XQuery im Angebot. Natürlich habe ich mich gleich an die Arbeit gemacht, und wollte es einmal testen.
Dazu habe ich zwei Varianten probiert, meine Daten aus dem XML zu bekommen.
1.)
Code: Alles auswählen
QXmlQuery query;
QByteArray byteArray;
QBuffer buffer(&byteArray);
buffer.open(QIODevice::WriteOnly);
query.setQuery("doc('D:/wrk/prog/debug/pool.xml')/Pool/Connection/Target/text()");
QXmlSerializer serializer(query, &buffer);
query.evaluateTo(&serializer);
QString source = QString(byteArray);
QMessageBox::information(0, "", source);
Wenn ich das ganze nun in eine StringList wandern lasse,
2.)
Code: Alles auswählen
QXmlQuery query;
query.setQuery("doc('D:/wrk/prog/debug/pool.xml')/Pool/Connection/Target/text()");
if (query.isValid())
{
QStringList *list = new QStringList;
if (query.evaluateTo(list))
{
for (int i = 0; i < list->size(); ++i)
{
QMessageBox::information(0, QString("Number %1").arg(QString::number(i)), list->at(i));
}
}
else
{
QMessageBox::critical(0, "Error", "Could not evaluate.");
}
}
else
{
QMessageBox::critical(0, "Error", "QPath not valid.");
}
QMessageBox::information(0, "", source);
Hat jemand schon mit den neuen Funktionen Erfahrungen gesammelt und kann mir ggf. bei meinem Problem helfen?
Mfg KK