我只是想用QtXml库解析一个xml文件,所以我需要一些帮助,因为我不明白它是如何工作的:$
这是我的xml文件config.xml:
<configuration>
<user>
<foo>Something</foo>
<bar>Something too</bar>
</user>
<dll_version>
<v1>appv1</v1>
<v2>appv2</v2>
<v3>appv3</v3>
</dll_version>
</configuration>注意: dll版本--它是一个函数,从reg获取应用程序的版本,并将其与xml文件中的值进行比较。
我想做的是:
谢谢:)
发布于 2017-04-14 10:56:12
在过去,我也需要类似的功能。我使用了下面的代码。这可能不是最好的解决方案,但我为自己工作。
QString GetConfValue(QString conftype, QString confname) {
QString ret = "";
QFile file("config.xml");
if (file.open(QFile::ReadOnly | QFile::Text)) {
QXmlStreamReader reader;
reader.setDevice(&file); //(file);
reader.readNext();
while (!reader.atEnd()) {
if (reader.name() == "configuration" && reader.isStartElement()) {
reader.readNext();
while (!reader.atEnd()) {
if (reader.name() == conftype && reader.isStartElement()) {
reader.readNext();
while (!reader.atEnd()) {
if (reader.name() == confname && reader.isStartElement())
return reader.readElementText();
reader.readNext();
}
}
reader.readNext();
}
}
reader.readNext();
}
} else
qDebug() << qPrintable(file.errorString());
return ret;
}https://stackoverflow.com/questions/43408631
复制相似问题