I have written the following classes to generate an XML which is as below:
Classes are:
But i dont know how to encode these classes into XML form.
Can you help ? Urgently.
Code:
<JBEToOverseerRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///c:/Share/resquest.xsd">
<ConfigParams>
<Param Name="OverseerConfJBEPortNum">1025</Param>
<Param Name="OverseerConfHctHostname">10.31.225.163</Param>
<Param Name="OverseerConfTestExecParallelism">5</Param>
<Param Name="OverseerConfServerName">10.31.225.163</Param>
<Param Name="OverseerDirectory">C:\Documents and Settings\Administrator\Desktop\Pocdemo</Param>
<Param Name="OverseerConfKillThreadUsingKillerThread">Yes</Param>
<Param Name="OverseerTimeoutCleanup">yes</Param>
</ConfigParams>
<Requests>
<Request>
<RequestID>HC1001</RequestID>
<Host>hct-nw-server</Host>
<Parameters>
<Param Name="RequestNumber">1</Param>
<Param Name="TimeOut">120</Param>
</Parameters>
</Request>
<Request>
<RequestID>HC1001</RequestID>
<Host>hct-nw-client</Host>
<Parameters>
<Param Name="RequestNumber">2</Param>
<Param Name="TimeOut">120</Param>
</Parameters>
</Request>
</Requests>
</JBEToOverseerRequest>
Code:
#include<io.h>
#include<string>
#include<list>
#include<tinyxml.h>
using namespace std;
class Param
{
public:
string value;
string name;
Param();
Param( string value, string name)
{
this->value=value;
this->name=name;
}
};
class Parameters
{
public:
list<Param> param;
Parameters();
Parameters(list<Param> param)
{
this->param = param;
}
};
class Request
{
public:
string requestID;
string host;
Parameters parameters;
Request();
Request(string requestID, string host, Parameters parameters)
{
this->requestID = requestID;
this->host = host;
this->parameters = parameters;
}
};
class Requests
{
public:
list<Request> requests;
Requests();
Requests(list<Request> requests)
{
this->requests = requests;
}
};
class JBEToOverseerRequest
{
public:
Parameters configParams;
Requests requests;
JBEToOverseerRequest();
JBEToOverseerRequest(Parameters configparams, Requests requests)
{
this->configParams=configparams;
this->requests=requests;
}
void save(const char* Filename);
};
class ConfigParams
{
public:
Parameters configparams;
ConfigParams();
ConfigParams(Parameters configparams)
{
this->configparams = configparams;
}
};
void JBEToOverseerRequest::save(const char* Filename)
{
TiXmlDocument doc;
TiXmlElement* msg;
TiXmlDeclaration* decl = new TiXmlDeclaration( "1.0", "", "" );
doc.LinkEndChild( decl );
TiXmlElement * root = new TiXmlElement("JBEToOverseerRequest");
doc.LinkEndChild( root );
//block configparams
{
TiXmlElement * configparams= new TiXmlElement( "ConfigParams" );
root->LinkEndChild( configparams );
Param param1=Param("OverseerConfJBEPortNum", "1844");
Param param2=Param("OverseerConfHctHostname" ," 10.30.89.117");
Param param3=Param("OverseerConfTestExecParallelism", "5");
Param param4=Param("OverseerConfServerName", "10.30.89.117");
Param param5=Param("OverseerDirectory","NSR_TMP_DIRECTORY");
Param param6=Param("OverseerTimeoutCleanup","yes");
Param param7=Param("JBEcategory","HostConnectivity");
Param param8=Param("JBECheckType","Extended");
Param param9=Param("ReportRuns","4");
Param param10=Param("ReportGrouping","RUNS");
Param param11=Param("FilterType","N_RUNS");
Param param12=Param("ExportDirPath","//diagnose");
Param param13=Param("CancelInMillisec","0");
list<Param> params =list<Param>();
list <Param>::iterator Iter;
Iter=params.begin();
params.insert(Iter,param1);
params.insert(Iter,param2);
params.insert(Iter,param3);
params.insert(Iter,param4);
params.insert(Iter,param5);
params.insert(Iter,param6);
params.insert(Iter,param7);
params.insert(Iter,param8);
params.insert(Iter,param9);
params.insert(Iter,param10);
params.insert(Iter,param11);
params.insert(Iter,param12);
params.insert(Iter,param13);
Parameters parameters=Parameters(params);
ConfigParams configparams=ConfigParams(parameters);
}
Can you help ? Urgently.