Gửi XML bằng cách sử dụng XMLHTTP

Mục lục

Tôi đã tập hợp một tập lệnh cơ bản để gửi một chuỗi hoặc tệp XML đến một máy chủ web bằng Excel VBA và một tập lệnh PHP đơn giản để nhận dữ liệu. Quá trình sử dụng XMLHTTP.

Mục đích là tạo một tập lệnh tải lên đơn giản để cập nhật máy chủ có dữ liệu XML được tạo từ bảng tính. Sau đó, có nhiều sổ làm việc của người dùng cuối ánh xạ tới tệp trung tâm và tạo báo cáo từ đó. Các đai ốc và bu lông cơ bản:

Đối với ví dụ, tôi sử dụng một chuỗi XML cơ bản trông giống như sau:

1234567891011 myxml = "<? xml version =" "1.0" "?>" & _"" & _"mens polo" & _"4,89" & _"lớn" & _""

PHP mà tôi đã sử dụng chỉ trả lại dữ liệu mà nó đã được gửi trở lại Excel. Vì vậy, nếu bạn nhận được cùng một dữ liệu XML mà bạn đã gửi trong hộp tin nhắn, bạn đã làm đúng. Nếu không tìm thấy dữ liệu bài đăng, nó sẽ thông báo “không có xúc xắc”. Vị trí của URL thử nghiệm là /pl/xlxml.php

Rõ ràng là bạn sẽ muốn cập nhật tập lệnh để lưu nội dung tệp vào máy chủ của mình cho các mục đích sử dụng thực tế. Đây là PHP để nhận dữ liệu bài đăng XML và trả lại:

1234567891011121314151617

Vì vậy, bây giờ chúng tôi biết những gì chúng tôi đang gửi và cách nhận nó, hãy gửi dữ liệu XML!

Mã sau được tạo trong Excel 2003 và sử dụng tham chiếu đến Công cụ-> Tài liệu tham khảo-> Microsoft XML v5.0 trong trình soạn thảo VB. Nó được bình luận rất tốt để bạn có thể thấy mọi thứ đang diễn ra:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 Sub SendXML ()'Biến HTTPLàm mờ myHTTP dưới dạng MSXML2.XMLHTTP'Đối tượng HTTPĐặt myHTTP = CreateObject ("msxml2.xmlhttp")'tạo biến tài liệu dom'lưu trữ xml để gửiLàm mờ myDom dưới dạng MSXML2.DOMDocument'Tạo Đối tượng DomDocumentĐặt myDom = CreateObject ("MSXML2.DOMDocument")'Tải toàn bộ tài liệu trước khi tiếp tụcmyDom.async = Sai'biến chuỗi xml'thay thế bằng vị trí nếu gửi từ tệp hoặc URLLàm mờ myxml dưới dạng chuỗimyxml = "<? xml version =" "1.0" "?>" & _"" & _"mens polo" & _"4,89" & _"lớn" & _""'tải xml'thay đổi thành .Load cho tệp hoặc urlmyDom.loadXML (myxml)'mở kết nốimyHTTP.Mở "post", _"https://www.automateexcel.com/excel/pl/xlxml.php", Sai'gửi XMLmyHTTP.Send (myDom.XML)'Hiển thị phản hồiMsgBox myHTTP.ResponseTextKết thúc Sub

Nếu bạn đã làm được điều này đến mức này, thêm một tham chiếu và chạy mã, bạn sẽ thấy rằng thực sự PHP đã nhận và trả lại XML:

Lưu ý: Tôi chỉ mới tạo động XML hoặc tải nó từ các tệp XML và URL, việc tiếp theo là gửi dữ liệu từ một bản đồ XML.

Tôi phản hồi dữ liệu trở lại Excel thay vì ghi nó vào máy chủ vì URL là công khai, tôi muốn cung cấp cho mọi người một hộp cát và không có các tệp ngẫu nhiên được gửi đến máy chủ của tôi.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave