Qt中使用QXmlStreamReader解析读取xml文件,.readNext返回值为1,错误类型为Premature end of document
慎思 2019-06-04 04:32:14 我的xml文件是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<!--paramter setting:-->
<paramters>
<classify>
<R_Param>0</R_Param>
<Atomic_Param>0</Atomic_Param>
<Smooth_Param>0</Smooth_Param>
</classify>
<gray_compos>
<Gray_map_Param>0</Gray_map_Param>
</gray_compos>
</paramters>
读取程序如下:
void ThXsImgProcQt::read_param_xml(QString file_path)
{
QFile xml_file(file_path);
QXmlStreamReader xml_reader;
if (!xml_file.open(QFile::ReadOnly|QFile::Text))
{
return;
}
while ((!xml_reader.atEnd())&&(!xml_reader.hasError()))
{
qint64 line_count = xml_reader.lineNumber();
QXmlStreamReader::TokenType type = xml_reader.readNext();
if (type == 1)
{
QString error_string = xml_reader.errorString();
}
if (type == QXmlStreamReader::StartDocument)
{
}
if (xml_reader.isStartElement()&&xml_reader.name()== this->m_p_wg_tools->m_wg_classify.ui.label_r_param->text())
{
QString string = this->m_p_wg_tools->m_wg_classify.ui.lineEdit_r_param->text();
}
}
if (xml_reader.hasError())
{
//做错误处理
}
}
有哪位指点下哪里出问题了呢