Пошаљите КСМЛ помоћу КСМЛХТТП -а

Преглед садржаја

Саставио сам основну скрипту за слање КСМЛ низа или датотеке веб серверу користећи Екцел ВБА и једноставну ПХП скрипту за пријем података. Процес користи КСМЛХТТП.

Циљ је створити једноставну скрипту за отпремање за ажурирање сервера са КСМЛ подацима креираним из прорачунске таблице. Затим нека више радних књига крајњих корисника мапирају централну датотеку и од ње креирају извештаје. Основне матице и вијци:

За пример користим основни КСМЛ низ који изгледа овако:

1234567891011 микмл = "<? кмл версион =" "1.0" "?>" & _"" & _"мушки поло" & _"4.89" & _"велики" & _""

ПХП који сам користио једноставно враћа податке које је послао назад у Екцел. Дакле, ако примите исте КСМЛ податке које сте послали у оквир за поруку, урадили сте то исправно. Ако се не пронађу подаци о посту, пише "нема коцкица". Локација пробне УРЛ адресе је /пл/клкмл.пхп

Очигледно ћете желети да ажурирате скрипту да бисте сачували садржај датотеке на свом серверу ради практичне употребе. Ево ПХП -а за примање података КСМЛ поста и њихово враћање:

1234567891011121314151617

Сада знамо шта шаљемо и како да то примимо, пошаљимо КСМЛ податке!

Следећи код је креиран у Екцелу 2003 и користећи референцу на Алати-> Референце-> Мицрософт КСМЛ в5.0 у ВБ уређивачу. Добро је коментарисан тако да можете видети све што се дешава:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 Суб СендКСМЛ ()'ХТТП променљиваЗатамните миХТТП као МСКСМЛ2.КСМЛХТТП'ХТТП објекатПостави миХТТП = ЦреатеОбјецт ("мскмл2.кмлхттп")'цреате дом доцумент вариабле'складишти кмл за слањеЗатамните миДом као МСКСМЛ2.ДОМДоцумент'Креирајте ДомДоцумент објектПостави миДом = ЦреатеОбјецт ("МСКСМЛ2.ДОМДоцумент")'Учитајте цео документ пре него што наставитемиДом.асинц = Нетачно'кмл стринг променљива'замените локацијом ако шаљете из датотеке или УРЛ -аДим микмл Ас Стрингмикмл = "<? кмл версион =" "1.0" "?>" & _"" & _"мушки поло" & _"4.89" & _"велики" & _""'учитава кмл'промените у. Учитај датотеку или урлмиДом.лоадКСМЛ (микмл)'отворите везумиХТТП.Отвори "пост", _"хттпс://ввв.аутоматеекцел.цом/екцел/пл/клкмл.пхп", Нетачно'пошаљите КСМЛмиХТТП.Сенд (миДом.КСМЛ)'Прикажите одговорМсгБок миХТТП.РеспонсеТектЕнд Суб

Ако сте ово догурали, додали референцу и покренули код, видећете да је ПХП заиста примио и вратио КСМЛ:

Напомене: Само сам динамички креирао КСМЛ или га учитао из КСМЛ датотека и УРЛ -ова, следеће је слање података са КСМЛ мапе.

Поновио сам податке назад у Екцел уместо да их упишем на сервер јер је УРЛ јаван, хтео сам да дам људима песковник и да се на мој сервер не шаљу случајне датотеке.

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave