Trimiteți XML utilizând XMLHTTP

Cuprins

Am creat un script de bază pentru trimiterea unui șir XML sau a unui fișier către un server web folosind Excel VBA și un script PHP simplu pentru a primi datele. Procesul utilizează XMLHTTP.

Scopul este de a crea un script simplu de încărcare pentru a actualiza un server cu date XML create dintr-o foaie de calcul. Apoi, puneți mai multe cărți de lucru ale utilizatorilor finali pe fișierul central și creați rapoarte din acesta. Piulițele și șuruburile de bază:

Pentru exemplu, folosesc un șir XML de bază care arată astfel:

1234567891011 myxml = "<? xml version =" "1.0" "?>" & _"" & _„polo pentru bărbați” și _„4.89” & _"mare" & _""

PHP-ul pe care l-am folosit returnează pur și simplu datele pe care le-am trimis înapoi la Excel. Deci, dacă primiți aceleași date XML pe care le-ați trimis într-o casetă de mesaje, le-ați făcut corect. Dacă nu se găsesc date despre postare, scrie „fără zaruri”. Locația adresei URL de test este /pl/xlxml.php

Evident, veți dori să actualizați scriptul pentru a salva conținutul fișierului pe serverul dvs. pentru utilizări practice. Iată PHP pentru a primi datele de postare XML și a le returna:

1234567891011121314151617

Deci, știm acum ce trimitem și cum să primim, să trimitem datele XML!

Următorul cod a fost creat în Excel 2003 și utilizând o referință la Instrumente-> Referințe-> Microsoft XML v5.0 în editorul VB. Este bine comentat, astfel încât să puteți vedea tot ce se întâmplă:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 Sub SendXML ()'Variabilă HTTPDim myHTTP Ca MSXML2.XMLHTTP'Obiect HTTPSetați myHTTP = CreateObject ("msxml2.xmlhttp")'creați o variabilă de document dom'stochează XML-ul de trimisDim myDom As MSXML2.DOMDocument'Creați obiectul DomDocumentSetați myDom = CreateObject ("MSXML2.DOMDocument")'Încărcați întregul document înainte de a trece mai departemyDom.async = False'variabilă șir XML'înlocuiți cu locația dacă trimiteți din fișier sau URLDim myxml As Stringmyxml = "<? xml version =" "1.0" "?>" & _"" & _„polo pentru bărbați” și _„4.89” & _"mare" & _""'încarcă XML'schimbați în. Încărcați pentru fișier sau adresă URLmyDom.loadXML (myxml)'deschide conexiuneamyHTTP.Open "post", _„https://www.automateexcel.com/excel/pl/xlxml.php”, Fals'trimite XMLmyHTTP.Send (myDom.XML)'Afișați răspunsulMsgBox myHTTP.ResponseTextSfârșitul Sub

Dacă ați ajuns până acum, ați adăugat o referință și ați rulat codul, veți vedea că într-adevăr PHP a primit și a returnat XML-ul:

Note: am creat dinamic XML doar sau l-am încărcat din fișiere XML și URL-uri, următorul este să trimit date dintr-o hartă XML.

Am ecou datele înapoi în Excel, în loc să le scriu pe server, deoarece adresa URL este publică, am vrut să le ofer oamenilor un sandbox și să nu fie trimise fișiere aleatorii către serverul meu.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave