qt xml QDomDocument 方式读

qt的dom方式读取xml有点不习惯
QFile file(m_optionFile);
    QDomDocument doc;

    if (!file.open(QIODevice::ReadOnly))
    {
        return;
    }

    QTextStream floStream(&file);
    QString xmlDataStr = floStream.readAll();

    QString err;
    int line;
    int column;
    if (!doc.setContent(xmlDataStr, false, &err, &line, &column))
    {
        goto closefile;
    }

这样可以读取成功

最初,我这样写:doc.setContent(&file, false, &err, &line, &column)),但是提示无效字符,我把xml文件翻来覆去的看,不知道为什么,全部标准的英文,半角,格式也没什么不对。一点点删文字,测试,发现dom方式要求很严格,不能包含多个根元素级别。
最后删减成只有一个根元素,提示变化了:无效的文件尾。又郁闷了,实在不知道再该删减什么了,只有一个最简单的根元素。

后来,写成上面方式,却能成功。改成直接传文件io方式,失败。看来,还真不懂qt啊。

你可能感兴趣的:(qt xml QDomDocument 方式读)