//uso questo componente per comporre il messaggio xml:
Var ADoc: TNativeXml;
begin
ADoc := TNativeXml.CreateName('Message');
ADoc.Root.WriteAttributeString('id','test');
ADoc.Root.WriteAttributeString('type','test');
ADoc.Root.WriteAttributeString('code','1');
with ADoc.Root.NodeNew('code2') do
begin
WriteAttributeString('code2','3456');
WriteString('startdate', data);
end;
ADoc.EncodingString := 'UTF-8';
ADoc.Utf8Encoded := False;
ADoc.XmlFormat := xfReadable;
//scrivo nella memo
memXml.Text := ADoc.WriteToString;
//post
memRisposta.Text := IdHTTP1.Post(url, memXml.Lines);