@mrjj , thank you for your response , i found the exemple very usfule ,
@VRonin, i resolved the probleme , juste may program it's note optimized , becouse i have a lote of condition ,
thanks anyways
for the curios
QString sFilePath = QFileDialog::getOpenFileName(this, tr("Open XML File ..."), "E:/", tr("XMLFile (*.xml)"));
if(sFilePath.isEmpty())
{
QMessageBox::critical(this, tr("Open File XML"), tr("the file is empty !"));
return;
}
QFileInfo fileInfo(sFilePath);
QString sFileXmlName = fileInfo.fileName();
// XML object
QXmlStreamReader reader;
//Fichier XML
QFile fFileXml(sFilePath);
//open XML on red only
if(!fFileXml.open(QFile::ReadOnly | QFile::Text))
{
QMessageBox::critical(this, tr("Open File XML"), tr("the file is not open !"), QMessageBox::Ok);
return;
}
if (reader.readNextStartElement()) {
if (reader.name() == "Calib"){
while(reader.readNextStartElement()){
if(reader.name() == "CalibPt"){
while(reader.readNextStartElement()){
if(reader.name() == "calib"){
QString s = reader.readElementText();
ui->lineEdit_19->setText(s);
}
else if(reader.name() == "conv_"){
QString s = reader.readElementText();
ui->spinBox_1->setValue(s. toInt());
}
else if(reader.name() == "conv_1"){
QString s = reader.readElementText();
ui->lineEdit->setText(s);
}
else if(reader.name() == "calib_1"){
QString s = reader.readElementText();
ui->lineEdit_9->setText(s);
}
else if(reader.name() == "conv_2"){
QString s = reader.readElementText();
ui->lineEdit_2->setText(s);
}
else if(reader.name() == "calib_2"){
QString s = reader.readElementText();
ui->lineEdit_10->setText(s);
}
else if(reader.name() == "conv_3"){
QString s = reader.readElementText();
ui->lineEdit_3->setText(s);
}
else if(reader.name() == "calib_3"){
QString s = reader.readElementText();
ui->lineEdit_11->setText(s);
}
else if(reader.name() == "conv_4"){
QString s = reader.readElementText();
ui->lineEdit_4->setText(s);
}
else if(reader.name() == "calib_4"){
QString s = reader.readElementText();
ui->lineEdit_12->setText(s);
}
else if(reader.name() == "conv_5"){
QString s = reader.readElementText();
ui->lineEdit_5->setText(s);
}
else if(reader.name() == "calib_5"){
QString s = reader.readElementText();
ui->lineEdit_13->setText(s);
}
else if(reader.name() == "conv_6"){
QString s = reader.readElementText();
ui->lineEdit_6->setText(s);
}
else if(reader.name() == "calib_6"){
QString s = reader.readElementText();
ui->lineEdit_14->setText(s);
}
else if(reader.name() == "conv_7"){
QString s = reader.readElementText();
ui->lineEdit_7->setText(s);
}
else if(reader.name() == "calib_7"){
QString s = reader.readElementText();
ui->lineEdit_15->setText(s);
}
else if(reader.name() == "conv_8"){
QString s = reader.readElementText();
ui->lineEdit_8->setText(s);
}
else if(reader.name() == "calib_8"){
QString s = reader.readElementText();
ui->lineEdit_16->setText(s);
}
else
reader.skipCurrentElement();
}
}
else
reader.skipCurrentElement();
}
}
else
reader.raiseError(QObject::tr("."));
}
I have to change the names of the subchild, otherwise it will not work.