本文因为属性名为数字导致文件错误,如:
<?xml version="1.0" encoding="UTF-8"?>
<NR002IPS>
<PAGE0 1="3" 2="5">
</PAGE0>
</NR002IPS>
<PAGE0 1="3" 2="5">这一句中,属性名分别为1和2导致了文件错误。
另外,如果setContent始终错误找不到原因,将setContent所有参数都填充,它会告诉你在Xml文件的什么位置出现了什么错误,代码如下:
QString path = QCoreApplication::applicationDirPath.apend("./test.xml");
QFile file(path);
if(!file.open(QFile::ReadOnly))
{
return;
}
QDomDocument doc;
int errLine = -1;
int errColum = -1;
QString strError = "";
if(!doc.setContent(&file, &strError, &errLine, &errColum)
{
file.close();
return;
}