xml配置文件写入

bool  WriteConFile()

{

 QFile file("config.xml");

 file.open(QIODevice::WriteOnly);

 QXmlStreamWriter xmlstreamwriter(&file);

 xmlstreamwriter.setAutoFormatting(true);
 xmlstreamwriter.writeStartDocument();

 xmlstreamwriter.writeStartElement("config");

    xmlstreamwriter.writeStartElement("numberID");

    xmlstreamwriter.writeAttribute("value", QString::number(numID));//写入int numID

    xmlstreamwriter.writeEndElement();

    xmlstreamwriter.writeStartElement("strName");

  xmlstreamwriter.writeAttribute("value",name);//写入Qstring name

    xmlstreamwriter.writeEndElement();

  xmlstreamwriter.writeStartElement("MathScore");

    xmlstreamwriter.writeAttribute("value",QString::number(dMScore,'f',6));//写入double dMScore

  xmlstreamwriter.writeEndElement();

  xmlstreamwriter.writeStartElement("AvgScore");

 

    xmlstreamwriter.writeAttribute("value",QString::number(dAvgScore));//写入float dAvgScore

  xmlstreamwriter.writeEndDocument();
    xmlstreamwriter.writeEndElement();

 file.close();

 return true;

}

 

Xml配置文件读取

bool ReadConFile()

{

  QFile file("config.xml");

       QDomDocument *dom;

       char* tmp_ptr;

       if(file.open(QIODevice::ReadOnly))

  {

    dom = new QDomDocument();

    if(!dom->setContent(&file))

    {

      qDebug() << "FaceRecognition::ReadConFile SetContent Failed!" << endl;

      file.close();

    }

    else

    {

     qDebug() << "FaceRecognition::ReadConFile SetContent Succeed!" << endl; 

    }

    QDomElement root = dom->documentElement();

              QDomNodeList  nodelist  = root.childNodes();

              for(int i = 0;i<nodelist.count();i++)

    {

              QDomNode node = nodelist.at(i);

              if(node.nodeName() == "numberID")

    {

      int m_numID = node.toElement().attribute("value").toint();

    }else if(node.nodeName() == "strName")

    {

      QString m_strName = node.toElement().attribute("value");

    }else if(node.nodeName() == "MathScore")

    {

      double m_dMScore = node.toElement().attribute("value").toDouble();

    }else if(node.nodeName() == "AvgScore")

    {

         float m_fAvgScore = node.toElement().attribute("value").toFloat();

    }

    }

    file.close();

  }

       else

  {

    return false;

       cout << "FAILED to Open Configuration File. " + file.errorString().toStdString() << endl;

  }

      return true;

}

posted on 2019-02-14 16:37  ~纸鸢~  阅读(51)  评论(0)    收藏  举报