C++ QIODevice::打开XML时发生读取错误

C++ QIODevice::打开XML时发生读取错误,c++,qt,C++,Qt,我在使用基本对话框打开XML文件进行解析时遇到问题。 我的编译输出总是给我错误QIODevice::read:device not open,即使路径和文件确实存在并且我正在通过对话框窗口选择它 void eltechdb::carica() { QXmlStreamReader filecarica; QString nomefile = QFileDialog::getOpenFileName(this,tr("Carica database"), ".",tr("Fil

我在使用基本对话框打开XML文件进行解析时遇到问题。 我的编译输出总是给我错误QIODevice::read:device not open,即使路径和文件确实存在并且我正在通过对话框窗口选择它

void eltechdb::carica() 
{

    QXmlStreamReader filecarica;
    QString nomefile = QFileDialog::getOpenFileName(this,tr("Carica database"), ".",tr("File XML (*.xml)"));

    QFile file(nomefile);
    file.open(QFile::ReadOnly);

    filecarica.setDevice(&file);
    filecarica.readNext();

    while(!filecarica.atEnd())
    {
        ....
    }

    file.close();

}
有什么问题吗?我没有从编译器中得到任何错误,但它似乎无法读取文件

我已经尝试将其放置在根文件夹中,但没有任何结果。此外,您应该知道文件是(正确地)通过QXmlStreamWrite库使用相同类型的对话框成功生成的


谢谢,如果您能提供任何帮助,我们将不胜感激。

听起来您无法打开一个文件--不确定XML与此有何关系?请检查
file.open()
的返回值和
file.errorString()
。听起来您无法打开一个文件--不确定XML与此有何关系?请检查
file.open()的返回值
file.errorString()的值。