Slanje XML -a pomoću XMLHTTP -a

Sadržaj

Sastavio sam osnovnu skriptu za slanje XML niza ili datoteke na web poslužitelj koristeći Excel VBA i jednostavnu PHP skriptu za primanje podataka. Proces koristi XMLHTTP.

Cilj je stvoriti jednostavnu skriptu za prijenos radi ažuriranja poslužitelja s XML podacima izrađenim iz proračunske tablice. Zatim neka više radnih knjiga krajnjih korisnika bude preslikano u središnju datoteku i iz njih izradite izvješća. Osnovne matice i vijci:

Za primjer koristim osnovni XML niz koji izgleda ovako:

1234567891011 myxml = "<? xml version =" "1.0" "?>" & _"" & _"muški polo" & _"4.89" & _"veliki" & _""

PHP koji sam koristio jednostavno vraća podatke koje je poslao natrag u Excel. Dakle, ako primite iste XML podatke koje ste poslali u okvir za poruku, učinili ste to ispravno. Ako se ne pronađu podaci o postu, piše "nema kockica". Mjesto testnog URL -a je /pl/xlxml.php

Očito ćete htjeti ažurirati skriptu kako biste sadržaj datoteke spremili na poslužitelj za praktične potrebe. Evo PHP -a za primanje podataka XML posta i njihovo vraćanje:

1234567891011121314151617

Dakle, sada znamo što šaljemo i kako to primiti, pošaljimo XML podatke!

Sljedeći je kôd kreiran u Excelu 2003 pomoću referenci na Alati-> Reference-> Microsoft XML v5.0 u VB uređivaču. Dobro je komentirano pa možete vidjeti sve što se događa:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 Sub SendXML ()'HTTP varijablaZatamnite myHTTP kao MSXML2.XMLHTTP'HTTP objektPostavi myHTTP = CreateObject ("msxml2.xmlhttp")'create dom dokument varijabla'pohranjuje xml za slanjeZatamni myDom kao MSXML2.DOMDocument'Izradite DomDocument objektPostavi myDom = CreateObject ("MSXML2.DOMDocument")'Učitajte cijeli dokument prije nego nastavitemyDom.async = Netačno'xml varijabla niza'zamijenite lokacijom ako šaljete iz datoteke ili URL -aDim myxml As Stringmyxml = "<? xml version =" "1.0" "?>" & _"" & _"muški polo" & _"4.89" & _"veliki" & _""'učitava xml'promijenite u. Učitaj datoteku ili urlmyDom.loadXML (myxml)'otvorite vezumyHTTP.Otvori "post", _"https://www.automateexcel.com/excel/pl/xlxml.php", Netačno'pošaljite XMLmyHTTP.Send (myDom.XML)'Prikažite odgovorMsgBox myHTTP.ResponseTextKraj podm

Ako ste ovo uspjeli, dodali referencu i pokrenuli kôd, vidjet ćete da je PHP zaista primio i vratio XML:

Napomene: Samo sam dinamički stvorio XML ili ga učitao iz XML datoteka i URL -ova, sljedeće je slanje podataka s XML karte.

Ponovio sam podatke natrag u Excel umjesto da ih upišem na poslužitelj jer je URL javan, želio sam ljudima dati pješčanik i ne slati slučajne datoteke na moj poslužitelj.

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave