Odeslat XML pomocí XMLHTTP

Obsah

Sestavil jsem základní skript pro odeslání řetězce nebo souboru XML na webový server pomocí aplikace Excel VBA a jednoduchý skript PHP pro příjem dat. Tento proces používá XMLHTTP.

Cílem je vytvořit jednoduchý nahrávací skript pro aktualizaci serveru pomocí dat XML vytvořených z tabulky. Poté nechejte více sešitů koncových uživatelů namapovat na centrální soubor a vytvořit z něj zprávy. Základní matice a šrouby:

Pro příklad používám základní řetězec XML, který vypadá takto:

1234567891011 myxml = "<? xml version =" "1.0" "?>" & _"" & _"pánské pólo" & _"4,89" & _"velký" & _""

PHP, které jsem použil, jednoduše vrací data, která byla odeslána zpět do Excelu. Pokud tedy obdržíte stejná data XML, která jste poslali do pole se zprávou, udělali jste to správně. Pokud nejsou nalezena žádná data příspěvku, říká „žádné kostky“. Umístění testovací adresy URL je /pl/xlxml.php

Očividně budete chtít aktualizovat skript a uložit obsah souboru na váš server pro praktické použití. Zde je PHP pro příjem dat XML příspěvků a jejich vrácení:

1234567891011121314151617

Nyní tedy víme, co posíláme a jak to přijímat, pošleme data XML!

Následující kód byl vytvořen v aplikaci Excel 2003 a pomocí odkazu na Nástroje-> Reference-> Microsoft XML v5.0 v editoru VB. Je to dobře komentované, takže můžete vidět vše, co se děje:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 Sub SendXML ()'Proměnná HTTPDim myHTTP As MSXML2.XMLHTTP„Objekt HTTPNastavit myHTTP = CreateObject ("msxml2.xmlhttp")'create dom document variable'ukládá xml k odesláníDim myDom As MSXML2.DOMDocument'Vytvořte objekt DomDocumentNastavit myDom = CreateObject ("MSXML2.DOMDocument")„Než budete pokračovat, nahrajte celý dokumentmyDom.async = Falešný'xml proměnná řetězce'při odesílání ze souboru nebo adresy URL nahradit umístění.'Dim myxml jako řetězecmyxml = "<? xml version =" "1.0" "?>" & _"" & _"pánské pólo" & _"4,89" & _"velký" & _""'načte xml'změnit na .Načíst soubor nebo URLmyDom.loadXML (myxml)'otevřete připojenímyHTTP.Open "post", _"https://www.automateexcel.com/excel/pl/xlxml.php", Nepravda'pošlete XMLmyHTTP.Send (myDom.XML)„Zobrazte odpověďMsgBox myHTTP.ResponseTextEnd Sub

Pokud jste se dostali až sem, přidali jste odkaz a spustili kód, uvidíte, že PHP skutečně přijalo a vrátilo XML:

Poznámky: XML jsem vytvořil pouze dynamicky nebo jej načíst ze souborů XML a adres URL, další je odesílání dat z mapy XML.

Vrátil jsem data zpět do Excelu místo toho, abych je zapsal na server, protože adresa URL je veřejná, chtěl jsem dát lidem sandbox a ne odesílat na můj server náhodné soubory.

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave