2024-11-25 17:15:44 +08:00

104 lines
2.8 KiB
C++

#include "recipexmlcontrol.h"
#include <QFile>
#include <QDebug>
#include <QDomDocument>
RecipeXmlControl::RecipeXmlControl(QObject *parent)
: QObject{parent}
{
readRecipeXml();
}
QList<ST_RecipeParam> RecipeXmlControl::getFESRecipes()
{
return recipeParamList;
}
QList<ST_RecipeParam> RecipeXmlControl::getFESRecipesReverse()
{
return recipeParamReverseList;
}
bool RecipeXmlControl::readRecipeXml()
{
QFile file("./DependFile/ConfigFile/FESRecipeList.xml");
if(!file.open(QIODevice::ReadOnly))
{
qDebug()<<"read FESRecipeList failed";
return false;
}
QDomDocument doc;
QString error;
int row,colum;
if(!doc.setContent(&file,&error,&row,&colum))
{
qDebug()<<"gameList error"<<error<<row<<colum;
file.close();
return false;
}
file.close();
QDomElement root=doc.documentElement(); //返回根节点
QDomNode node=root.firstChild(); //获得第一个子节点
while(!node.isNull())
{
if(node.isElement()) //如果节点是元素
{
ST_RecipeParam st_recipeMsg;
QDomElement e=node.toElement();
st_recipeMsg.muscleId = e.attribute("ID").toInt();
st_recipeMsg.muscleName = e.attribute("name");
st_recipeMsg.startAngle = e.attribute("startAngle").toInt();
st_recipeMsg.stopAngle = e.attribute("stopAngle").toInt();
recipeParamList.append(st_recipeMsg);
}
node = node.nextSibling();
}
qDebug()<<"recipeParamList.count()"<<recipeParamList.count();
QFile file2("./DependFile/ConfigFile/FESRecipeListReverse.xml");
if(!file2.open(QIODevice::ReadOnly))
{
qDebug()<<"read FESRecipeListReverse failed";
return false;
}
QDomDocument doc2;
QString error2;
int row2,colum2;
if(!doc2.setContent(&file2,&error2,&row2,&colum2))
{
qDebug()<<"gameList2 error"<<error2<<row2<<colum2;
file2.close();
return false;
}
file2.close();
QDomElement root2=doc2.documentElement(); //返回根节点
QDomNode node2=root2.firstChild(); //获得第一个子节点
while(!node2.isNull())
{
if(node2.isElement()) //如果节点是元素
{
ST_RecipeParam st_recipeMsg;
QDomElement e=node2.toElement();
st_recipeMsg.muscleId = e.attribute("ID").toInt();
st_recipeMsg.muscleName = e.attribute("name");
st_recipeMsg.startAngle = e.attribute("startAngle").toInt();
st_recipeMsg.stopAngle = e.attribute("stopAngle").toInt();
recipeParamReverseList.append(st_recipeMsg);
}
node2 = node2.nextSibling();
}
qDebug()<<"recipeParamReverseList.count()"<<recipeParamReverseList.count();
return true;
}