Надіслати XML за допомогою XMLHTTP

Зміст

Я зібрав базовий сценарій для надсилання рядка або файлу XML на веб -сервер за допомогою Excel VBA та простий сценарій PHP для отримання даних. Процес використовує XMLHTTP.

Мета - створити простий сценарій завантаження для оновлення сервера з даними XML, створеними з електронної таблиці. Потім запропонуйте кілька робочих книг кінцевого користувача відобразитись у центральному файлі та створити з нього звіти. Основні гайки та болти:

Для прикладу я використовую базовий рядок XML, який виглядає так:

1234567891011 myxml = "<? xml version =" "1.0" "?>" & _"" & _"чоловіче поло" & _"4.89" & _"великий" & _""

PHP, який я використав, просто повертає дані, надіслані назад у Excel. Отже, якщо ви отримали ті самі дані XML, які ви надіслали у вікні повідомлень, ви зробили це правильно. Якщо ніяких даних про повідомлення не знайдено, на ньому буде написано “немає кістки”. Розташування тестової URL -адреси /pl/xlxml.php

Очевидно, ви захочете оновити сценарій, щоб зберегти вміст файлу на вашому сервері для практичного використання. Ось PHP для отримання даних XML -повідомлень та їх повернення:

1234567891011121314151617

Отже, тепер ми знаємо, що ми надсилаємо, і як його отримати, надішлемо дані XML!

Наступний код був створений у Excel 2003 із використанням посилання на Інструменти-> Посилання-> Microsoft XML v5.0 у редакторі VB. Це добре коментується, тому ви можете бачити все, що відбувається:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 Додатковий SendXML ()'Змінна HTTPЗатемнити myHTTP як MSXML2.XMLHTTP'HTTP -об'єктВстановити myHTTP = CreateObject ("msxml2.xmlhttp")'створити змінну документа dom'зберігає xml для надсиланняЗатемнити myDom як MSXML2.DOMDocument'Створіть об'єкт DomDocumentВстановити myDom = CreateObject ("MSXML2.DOMDocument")'Завантажте весь документ, перш ніж рухатися даліmyDom.async = Неправда'xml рядкова змінна'замінити місцезнаходженням, якщо надсилається з файлу або URL -адресиDim myxml як рядокmyxml = "<? xml version =" "1.0" "?>" & _"" & _"чоловіче поло" & _"4.89" & _"великий" & _""'завантажує xml'змінити на .Завантажити файл або urlmyDom.loadXML (myxml)'відкрити з'єднанняmyHTTP.Відкрити "допис", _"https://www.automateexcel.com/excel/pl/xlxml.php", Неправда'надіслати XMLmyHTTP.Send (myDom.XML)'Покажіть відповідьMsgBox myHTTP.ResponseTextEnd Sub

Якщо ви зробили це так далеко, додали посилання та запустили код, ви побачите, що дійсно PHP отримав і повернув XML:

Примітки: Я лише динамічно створював XML або завантажував його з файлів XML та URL -адрес, далі надсилатиму дані з карти XML.

Я повторив дані назад до Excel замість того, щоб писати їх на сервер, оскільки URL -адреса загальнодоступна, я хотів дати людям пісочницю і не надсилати випадкові файли на мій сервер.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave