Hi Experts,
I have to update a XML node value and need to return with new XML but using below approach I am unable to return new XML, Can you please help me to sort out this issue
void ReadAndUpdateFreightInXML(XML _xml)
{
XmlParseError xmlError;
XmlNode transactionNode;
XmlNodeList rateList;
XmlNode requestNode;
TMSRate localRate;
XmlDocument responseDoc1 = XmlDocument::newXml(_xml);
//xmlError = responseDoc.parseError();
try
{
//ttsbegin;
if (xmlError && xmlError.errorCode() != 0)
{
xmlError.reason();
}
transactionNode = responseDoc1.documentElement();
rateList = transactionNode.selectNodes(#request); //Request mote
requestNode = rateList.nextNode();
rateList = requestNode.selectNodes(#shipping);//ShippingEntity - 1
requestNode = rateList.nextNode();
rateList = requestNode.selectNodes(#shipping);//ShippingEntity - 2
requestNode = rateList.nextNode();
rateList = requestNode.selectNodes(#shipping);//ShippingEntity - 3
requestNode = rateList.nextNode();
rateList = requestNode.selectNodes(#ratings);//RAtingEntities -
requestNode = rateList.nextNode();
rateList = requestNode.selectNodes(#rating);//RAtingEntities -
requestNode = rateList.nextNode();
//Update price in #TotalRate Node
localRate = any2real(this.returnNamedNode(requestNode, #totalRate));
localRate += 11;
this.writeNode(requestNode,#totalrate, int642str(localRate));
rateList = requestNode.selectNodes(#rate);//RatingEntity -
requestNode = rateList.nextNode();
//Update price in #TotalRate Node
localRate = any2real(this.returnNamedNode(requestNode, #totalRate));
localRate += 11;
this.writeNode(requestNode,#totalrate, int642str(localRate+10));
//Update price in #UnitRate Node
localRate = any2real(this.returnNamedNode(requestNode, #UnitRate));
localRate += 11;
this.writeNode(requestNode,#unitrate, int642str(localRate+10));
//return responseDoc1;
}
catch
{
throw Exception::Error;
}
}
*This post is locked for comments