int errorLine; int errorCol; //setContent是将指定的内容指定给QDomDocument解析, //第一参数可以是QByteArray或者是文件名等 if(!doc.setContent(&file,true,&errorStr,&errorLine,&errorCol)) { //如果出错,则会进入这里。errorStr得到的是出错说明 //errorLine和errorCol则是出错的行和列 qDebug() << errorStr << "line: " << errorLine << "col: " << errorCol; } file.close(); QDomNode firstNode = doc.firstChild(); qDebug() << qPrintable(firstNode.nodeName()) << qPrintable(firstNode.nodeValue()); } 1:没有打开文件这一步骤,多些老兄帮助; 2:在Windows下Qt开发,打开文件要么在资源文件,也就是把你想用的文件统统加到qrc文件里面去,否则单独的采用相对路径,qt都找不到这个文件,更别提要去解析或者去使用这个文件,所以如下的代码才是一直困扰我的地方,今天发现了,就贴上来,以后所有的文件还有各种图片,音视频都得在qrc资源文件里加进来,当然,采用绝对路径也是可以成功的,唯独相对路径不行. QFile file("recordshistoryrecords.xml"); ->这段代码是不行的 QFile file("F:/share/injector-gui2/recordshistoryrecords.xml"); ->这段代码是行的 QFile file(":/recordshistoryrecords.xml"); ->这段代码是行的,前提是你的文件在qrc里面加进来了. 上面也只是我这里开发所遇到问题总结的,有不对的可以指正,上一页 [1] [2]
|