Naib
Дата: 13.05.2011 14:59:33
Пример
var
// объявление сокласса и объекта XMLDomDocument
SndCoXMLDoc,RtCoXMLDoc : CoDomDocument ;
// должно быть глобальным, для всего модуля.
SndXMLDoc,RetXMLDoc : DomDocument ;
// объявление объектов DOMElement
r,r2 : IXMLDOMElement;
// DOMElement;
HeadNode,ReQuestNode,Node : IXMLDOMElement;
FNode : IXMLDOMNode;
// DOMText
// DOMText
txt : IXMLDOMText;
// DOMAttribute
att : IXMLDOMAttribute;
Snd:IXMLHttpRequest;
str:string;
lParams: TStringList;
FResponseText: String;
FResponseHdrs: String;
begin
Memo1.Clear;
// создание документа DOM
SndXMLDoc:=SndCoXMLDoc.Create;
// установка синхронного режима обработки
SndXMLDoc.Set_async(false);
// начальная инициация DOM документа
SndXMLDoc.LoadXML('<?xml version="1.0" encoding="UTF-8"?><PaymentReQuest/>');
// получение адреса корневого элемента
r:=SndXMLDoc.Get_documentElement;
//----------------------------------------//
HeadNode := SndXMLDoc.createElement ('Header');
r.appendChild(HeadNode);
Node := SndXMLDoc.createElement ('UName');
r.appendChild(HeadNode);
Node.appendChild(SndXMLDoc.createTextNode('xxx'));
HeadNode.appendChild(Node);
Node := SndXMLDoc.createElement ('Pssws');
r.appendChild(HeadNode);
Node.appendChild(SndXMLDoc.createTextNode('xxx'));
HeadNode.appendChild(Node);
//----------------------------------------//
ReQuestNode := SndXMLDoc.createElement ('ReQuest');
r.appendChild(ReQuestNode);
Node := SndXMLDoc.createElement ('TrnsNo');
r.appendChild(ReQuestNode);
Node.appendChild(SndXMLDoc.createTextNode('2606'));
ReQuestNode.appendChild(Node);
Node := SndXMLDoc.createElement ('TrnsTime');
r.appendChild(ReQuestNode);
Node.appendChild(SndXMLDoc.createTextNode('2011-04-26 09:16:00'));
ReQuestNode.appendChild(Node);
Node := SndXMLDoc.createElement ('TrnsType');
r.appendChild(ReQuestNode);
Node.appendChild(SndXMLDoc.createTextNode('D'));
ReQuestNode.appendChild(Node);
Node := SndXMLDoc.createElement ('AgnNo');
r.appendChild(ReQuestNode);
Node.appendChild(SndXMLDoc.createTextNode('103057'));
ReQuestNode.appendChild(Node);
Node := SndXMLDoc.createElement ('InvoiceNo');
r.appendChild(ReQuestNode);
Node.appendChild(SndXMLDoc.createTextNode('5'));
ReQuestNode.appendChild(Node);
Node := SndXMLDoc.createElement ('Amounto');
r.appendChild(ReQuestNode);
Node.appendChild(SndXMLDoc.createTextNode('2000.00'));
ReQuestNode.appendChild(Node);
Node := SndXMLDoc.createElement ('Cur');
r.appendChild(ReQuestNode);
Node.appendChild(SndXMLDoc.createTextNode('3'));
ReQuestNode.appendChild(Node);
Node := SndXMLDoc.createElement ('AcountCode');
r.appendChild(ReQuestNode);
Node.appendChild(SndXMLDoc.createTextNode('1'));
ReQuestNode.appendChild(Node);
Memo1.Lines.Add(SndXMLDoc.xml);
Memo1.Lines.SaveToFile('D:\Doc.xml');
lParams := TStringList.Create;
lParams.LoadFromFile('D:\Doc.xml');
Snd:=CreateOleObject('MSXML2.XMLHTTP.3.0') as IXMLHTTPRequest;
Snd.open('POST','//192.168.0.133/server.exe'+Doc.xml,False,EmptyParam,EmptyParam);