QT XML解析 setContent 报错处理
使用QT解析XML文件,if (!doc.setContent(&file, true, &errorStr, &errorLine, &errorColumn))老是出现error,
试过网上的绝对路径,相对路径,使用stream方式,等都不行。
无奈需要自己debug,测试发现使用Doc方式可以成功writeXML,尝试使用doc方式生产XML来读取,发现OK了。
所以和XML的格式有关。
总结一下中间的几点问题:
1.XML 不应该用记事本打开,格式不对,没有自动换行。
2.XML应该使用 UltraEdit或写字板来打开。
3.open的属性还是要设定好,否则会出现重复追加的问题
模式 值 描述
QIODevice::NotOpen 0x0000 不打开
QIODevice::ReadOnly 0x0001 只读方式
QIODevice::WriteOnly 0x0002 只写方式,如果文件不存在则会自动创建文件
QIODevice::ReadWrite ReadOnly | WriteOnly 读写方式
QIODevice::Append 0x0004 此模式表明所有数据写入到文件尾
QIODevice::Truncate 0x0008 打开文件之前,此文件被截断,原来文件的所有数据会丢失
QIODevice::Text 0x0010 读的时候,文件结束标志位会被转为’\n’;写的时候,文件结束标志位会被转为本地编码的结束为,例如win32的结束位’\r\n’
QIODevice::UnBuffered 0x0020 不缓存