Odosielanie XML pomocou XMLHTTP

Obsah

Zostavil som základný skript na odoslanie reťazca alebo súboru XML na webový server pomocou programu Excel VBA a jednoduchý skript PHP na príjem údajov. Tento proces používa XMLHTTP.

Cieľom je vytvoriť jednoduchý skript nahrávania na aktualizáciu servera údajmi XML vytvorenými z tabuľky. Potom nechajte viacero zošitov koncových používateľov namapovať na centrálny súbor a vytvárať z neho správy. Základné matice a skrutky:

Ako príklad používam základný reťazec XML, ktorý vyzerá takto:

1234567891011 myxml = "<? xml version =" "1.0" "?>" & _"" & _„pánske pólo“ & _"4,89" & _"veľký" & _""

PHP, ktoré som použil, jednoducho vráti údaje, ktoré boli odoslané späť do Excelu. Ak teda dostanete rovnaké údaje XML, aké ste odoslali do poľa so správou, urobili ste to správne. Ak sa nenájdu žiadne údaje z príspevku, bude napísané „žiadne kocky“. Adresa testovacej adresy URL je /pl/xlxml.php

Očividne budete chcieť skript aktualizovať, aby sa obsah súboru uložil na váš server na praktické použitie. Tu je PHP na prijatie údajov XML postov a ich vrátenie:

1234567891011121314151617

Teraz teda vieme, čo odosielame a ako to dostávame, poďme odoslať údaje XML!

Nasledujúci kód bol vytvorený v programe Excel 2003 a pomocou odkazu na Nástroje-> Referencie-> Microsoft XML v5.0 v editore VB. Je to dobre komentované, takže môžete vidieť všetko, čo sa deje:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 Sub SendXML ()„Premenná HTTPDim myHTTP As MSXML2.XMLHTTP„Objekt HTTPNastaviť myHTTP = CreateObject ("msxml2.xmlhttp")'vytvorte dom premennú dokumentu'uloží xml na odoslanieDim myDom As MSXML2.DOMDocument'Vytvorte objekt DomDocumentNastaviť myDom = CreateObject ("MSXML2.DOMDocument")„Pred pokračovaním načítajte celý dokumentmyDom.async = Nepravda'xml reťazcová premenná'pri odosielaní zo súboru alebo adresy URL nahraďte umiestnenímDim myxml ako reťazecmyxml = "<? xml version =" "1.0" "?>" & _"" & _„pánske pólo“ & _"4,89" & _"veľký" & _""„načíta xml'zmeniť na .Načítať súbor alebo URLmyDom.loadXML (myxml)'otvorte spojeniemyHTTP.Open "post", _„https://www.automateexcel.com/excel/pl/xlxml.php“, nepravda„pošlite XMLmyHTTP.Send (myDom.XML)'Zobrazte odpoveďMsgBox myHTTP.ResponseTextKoniec pod

Ak ste sa dostali až sem, pridali ste referenciu a spustili kód, uvidíte, že PHP skutočne prijalo a vrátilo XML:

Poznámky: XML som iba dynamicky vytvoril alebo načítal zo súborov XML a adries URL, ďalej je odosielanie údajov z mapy XML.

Údaje som vrátil späť do Excelu namiesto toho, aby som ich zapísal na server, pretože adresa URL je verejná. Chcel som ľuďom poskytnúť sandbox a nie odosielanie náhodných súborov na môj server.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave