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.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave