XML -i saatmine XMLHTTP abil

Lang L: none (table-of-contents)

Olen koostanud põhiskripti XML -stringi või faili saatmiseks veebiserverisse, kasutades Excel VBA -d, ja lihtsa PHP -skripti andmete vastuvõtmiseks. Protsess kasutab XMLHTTP -d.

Eesmärk on luua lihtne üleslaadimisskript, et värskendada arvutustabelist loodud XML -andmetega serverit. Seejärel laske mitu lõppkasutaja töövihikut keskse faili kaardistada ja sellest aruandeid luua. Peamised mutrid ja poldid:

Näites kasutan põhilist XML -stringi, mis näeb välja selline:

1234567891011 myxml = "<? xml version =" "1.0" "?>" & _"" & _"meeste polo" & _"4.89" & _"suur" & _""

Minu kasutatav PHP tagastab lihtsalt andmed, mis nad Excelisse tagasi saadeti. Nii et kui saate samad XML -andmed, mille te sõnumikasti saatsite, olete seda õigesti teinud. Kui postituse andmeid ei leita, ütleb see "täringuid pole". Testi URL -i asukoht on /pl/xlxml.php

Ilmselt soovite skripti värskendada, et faili sisu oma serverisse praktiliseks kasutamiseks salvestada. Siin on PHP XML -postituse andmete saamiseks ja tagastamiseks:

1234567891011121314151617

Nii et me teame nüüd, mida me saadame ja kuidas seda vastu võtta, saatkem XML -andmed!

Järgmine kood loodi Excel 2003-s ja kasutades VB-redaktoris viidet Tööriistad-> Viited-> Microsoft XML v5.0. See on hästi kommenteeritud, nii et näete kõike, mis toimub:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 Sub SendXML ()'HTTP muutujaDim myHTTP kui MSXML2.XMLHTTP'HTTP objektMäära myHTTP = CreateObject ("msxml2.xmlhttp")'luua dom dokumendi muutuja'salvestab saatmiseks xml -iDim myDom kui MSXML2.DOMDocument"Looge objekt DomDocumentMäära myDom = CreateObject ("MSXML2.DOMDocument")'Laadige kogu dokument enne jätkamistmyDom.async = Vale'xml stringide muutuja"asendage asukohaga, kui saadate failist või URL -istDim myxml stringinamyxml = "<? xml version =" "1.0" "?>" & _"" & _"meeste polo" & _"4.89" & _"suur" & _""'laadib xml'muutke. Laadi fail või URLmyDom.loadXML (myxml)'avage ühendusmyHTTP. Avage "postitus", _"https://www.automateexcel.com/excel/pl/xlxml.php", vale'saatke XMLmyHTTP.Send (myDom.XML)'Kuva vastusMsgBox myHTTP.ResponseTextEnd Sub

Kui olete nii kaugele jõudnud, lisanud viite ja käivitanud koodi, näete, et tõepoolest sai PHP XML -i ja tagastab selle:

Märkused. Olen XML -i dünaamiliselt loonud või laadinud selle XML -failidest ja URL -idest, järgmiseks tuleb saata andmed XML -kaardilt.

Kajasin andmed serverisse kirjutamise asemel tagasi Excelisse, kuna URL on avalik, tahtsin anda inimestele liivakasti ja mitte lasta juhuslikke faile serverisse saata.

wave wave wave wave wave