現(xiàn)代網(wǎng)絡(luò)技術(shù)的世界中,XML(可擴展標記語言)和 HTML(超文本標記語言) 是兩個非常重要的技術(shù)。盡管它們都使用標簽和屬性的格式來描述數(shù)據(jù),但它們在形式和用途上有顯著的區(qū)別。
XML,即 Extensible Markup Language(可擴展標記語言),是一種用于存儲和傳輸數(shù)據(jù)的文本格式。XML 的設(shè)計宗旨是強調(diào)數(shù)據(jù)的結(jié)構(gòu)化和準確性,提供了一種公認的標準格式。最主要的特點是它的自我描述性,即數(shù)據(jù)和數(shù)據(jù)的定義集成在一起,使得它在數(shù)據(jù)交換和數(shù)據(jù)存儲方面具有極大優(yōu)勢。
而 HTML,即 HyperText Markup Language(超文本標記語言),則是一種用于創(chuàng)建網(wǎng)頁的標準標記語言。HTML 的主要用途是描述網(wǎng)頁的內(nèi)容和結(jié)構(gòu),通過與 CSS(層疊樣式表)和 JavaScript(腳本語言)的結(jié)合,實現(xiàn)豐富和互動的網(wǎng)絡(luò)應用。
<book>
<title>Learning XML</title>
<author>John Doe</author>
<price>29.99</price>
</book>
<!DOCTYPE html>
<html>
<head>
<title>My Web Page</title>
</head>
<body>
<h1>Welcome to My Web Page</h1>
<p>This is an introductory paragraph.</p>
</body>
</html>
下面使用 Apifox 來修正和測試基于 XML 的 API 請求。
假設(shè)您需要向服務器發(fā)送 XML 格式的注冊信息。您可以按照以下步驟使用 Apifox 進行設(shè)置:
<userRegistration>
<username>john_doe</username>
<password>securePassword123</password>
<email>john_doe@example.com</email>
</userRegistration>
<userRegistrationResponse>
<userId>12345</userId>
<username>john_dane</username>
<status>success</status>
</userRegistrationResponse>
打開 Apifox,選擇開始新項目或者繼續(xù)現(xiàn)有項目。接著點擊“新建接口”,在接口設(shè)置頁面,選擇 POST 作為請求方法,并輸入正確的請求 URL,比如 https://api.example.com/register (這里的 URL 應替換為真實可用的 URL)。在配置請求體時,選擇 XML 格式,并將上述 XML 數(shù)據(jù)粘貼到配置區(qū)。
配置完成后,轉(zhuǎn)到“運行測試”頁面,點擊“發(fā)送”按鈕以向服務器發(fā)送構(gòu)建的請求。請求發(fā)送后,檢查響應部分,您應該看到類似于提供的 XML 格式的響應數(shù)據(jù)。
您還可以使用響應界面上的預覽功能,該功能能讓您以更直觀的方式查看服務器返回的數(shù)據(jù)。
XML 和 HTML 雖然在標簽和屬性的語法上有所相似,但它們在使用場景、結(jié)構(gòu)和功能上有顯著的區(qū)別。XML 強調(diào)數(shù)據(jù)的準確傳輸和結(jié)構(gòu)化存儲,適合用于數(shù)據(jù)的交換和持久化存儲等場景。而 HTML 強調(diào)內(nèi)容呈現(xiàn)和用戶交互,主要用于網(wǎng)頁設(shè)計和開發(fā)。
于從事IT開發(fā)的朋友來說,數(shù)據(jù)格式是基礎(chǔ)并且是非常重要的,因為數(shù)據(jù)總要是傳輸和顯示在頁面上的。數(shù)據(jù)格式一般來說有三種,html、json、xml三種。那么他們之間存在什么區(qū)別呢?今天小編帶大家來深入了解下:
html是組成萬千web頁面的載體
分享成果,隨喜正能量】行走于塵世,繁忙的工作節(jié)奏,沉重的生活壓力,似乎想讓生活過得行云流水,真的不是一件容易的事情,那么何不讓它變得簡單一些?或許我們不夠時尚,至少我們可以簡約,或許我們不夠精致,至少我們可以簡潔。把每一段旅途,都當做最好的修行;把每一段旅途遇到的困難,都當做自己的助力;把每一段旅途中遇到的人,都當做今生的因緣。
《VBA信息獲取與處理》教程是我推出第六套教程,目前已經(jīng)是第一版修訂了。這套教程定位于最高級,是學完初級,中級后的教程。這部教程給大家講解的內(nèi)容有:跨應用程序信息獲得、隨機信息的利用、電子郵件的發(fā)送、VBA互聯(lián)網(wǎng)數(shù)據(jù)抓取、VBA延時操作,剪貼板應用、Split函數(shù)擴展、工作表信息與其他應用交互,F(xiàn)SO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數(shù)等等內(nèi)容。程序文件通過32位和64位兩種OFFICE系統(tǒng)測試。是非常抽象的,更具研究的價值。
教程共兩冊,八十四講。今日的內(nèi)容是專題六“VBA中利用XMLHTTP完成網(wǎng)抓數(shù)據(jù)”的第1講:XMLHTTP的簡單講解
現(xiàn)在的社會是網(wǎng)絡(luò)的社會,離開了網(wǎng)絡(luò),很多工作會變得不通暢。我們?nèi)粘5纳钜彩呛途W(wǎng)絡(luò)緊密聯(lián)系一起的,那么網(wǎng)絡(luò)是如何搭建的呢?我們可以通過本講的講解了解到HTTP 超文本傳輸協(xié)議,TCP/IP的介紹,XMLHTTP的介紹,等等。
1) XML的介紹 XML指可擴展標記語言(EXtensible Markup Language),設(shè)計宗旨是傳輸數(shù)據(jù),是W3C (萬維網(wǎng)聯(lián)盟World Wide Web Consortium)的推薦標準。XML 是各種應用程序之間進行數(shù)據(jù)傳輸?shù)淖畛S玫墓ぞ?,并且在信息存儲和描述領(lǐng)域變得越來越流行。
2) HTTP的介紹 HTTP 超文本傳輸協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議)是因特網(wǎng)上應用最為廣泛的一種網(wǎng)絡(luò)傳輸協(xié)議,所有的WWW文件都必須遵守這個標準。
HTTP是一個基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù)(HTML 文件, 圖片文件, 查詢結(jié)果等)。
3) TCP/IP的介紹 TCP/IP是供已連接因特網(wǎng)的計算機進行通信的通信協(xié)議(Transmission Control Protocol / Internet Protocol)。定義了電子設(shè)備(比如計算機)如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉藴省?/p>
TCP 用于應用程序之間的通信。當應用程序希望通過 TCP 與另一個應用程序通信時,它會發(fā)送一個通信請求。這個請求必須被送到一個確切的地址。在雙方“握手”之后,TCP 將在兩個應用程序之間建立一個全雙工 (full-duplex) 的通信。這個全雙工的通信將占用兩個計算機之間的通信線路,直到它被一方或雙方關(guān)閉為止。
IP 用于計算機之間的通信。IP 是無連接的通信協(xié)議。它不會占用兩個正在通信的計算機之間的通信線路。這樣,IP 就降低了對網(wǎng)絡(luò)線路的需求。每條線可以同時滿足許多不同的計算機之間的通信需要。通過 IP,消息(或者其他數(shù)據(jù))被分割為小的獨立的包,并通過因特網(wǎng)在計算機之間傳送。IP 負責將每個包路由至它的目的地。
TCP/IP協(xié)議意味著 TCP 和 IP 在一起協(xié)同工作。TCP 負責應用軟件(比如你的瀏覽器)和網(wǎng)絡(luò)軟件之間的通信。IP 負責計算機之間的通信。TCP 負責將數(shù)據(jù)分割并裝入 IP 包,然后在它們到達的時候重新組合它們。IP 負責將包發(fā)送至接受者。
4) XMLHTTP的介紹 XMLHTTP是一套可以在Javascript、VbScript、Jscript等腳本語言中通過http協(xié)議傳送或從接收XML及其他數(shù)據(jù)的一套API。XmlHttp最大的用處是可以更新網(wǎng)頁的部分內(nèi)容而不需要刷新整個頁面。
來自MSDN的解釋:XmlHttp提供客戶端同http服務器通訊的協(xié)議??蛻舳丝梢酝ㄟ^XmlHttp對象(MSXML2.XMLHTTP.3.0)向http服務器發(fā)送請求并使用微軟XML文檔對象模型Microsoft? XML Document Object Model (DOM)處理回應。
現(xiàn)在的絕對多數(shù)瀏覽器都增加了對XmlHttp的支持,IE中使用ActiveXObject方式創(chuàng)建XmlHttp對象,其他瀏覽器如:Firefox、Opera等通過window.XMLHttpRequest來創(chuàng)建xmlhttp對象.
1)創(chuàng)建XMLHTTP對象 //需MSXML4.0支持
2)打開與服務端的連接,同時定義指令發(fā)送方式,服務網(wǎng)頁(URL)和請求權(quán)限等。客戶端通過Open命令打開與服務端的服務網(wǎng)頁的連接。與普通HTTP指令傳送一樣,可以用"GET"方法或"POST"方法指向服務端的服務網(wǎng)頁。
3)發(fā)送指令?!?/p>
4)等待并接收服務端返回的處理結(jié)果?!?/p>
5)釋放XMLHTTP對象
1) XMLHTTP的常見屬性:
onreadystatechange:在同步執(zhí)行方式下獲得返回結(jié)果的事件句柄。只能在DOM中調(diào)用。
responseBody: 結(jié)果返回為無符號整數(shù)數(shù)組?!?/p>
responseStream: 結(jié)果返回為IStream流。
responseText: 結(jié)果返回為字符串?!?/p>
responseXML: 結(jié)果返回為XML格式數(shù)據(jù)。
2) XMLHTTP的常用方法:
① Open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword)創(chuàng)建一個新的http請求,并指定此請求的方法、URL以及驗證信息(用戶名/密碼)打開指定網(wǎng)址
bstrMethod: 數(shù)據(jù)傳送方式,即GET或POST?!?/p>
bstrUrl: 服務網(wǎng)頁的URL?!?/p>
varAsync: 是否同步執(zhí)行。缺省為True,即同步執(zhí)行,但只能在DOM中實施同步執(zhí)行。用中一般將其置為False,即異步執(zhí)行?!?/p>
bstrUser: 用戶名,可省略。
bstrPassword:用戶口令,可省略?!?/p>
setRequestHeader(bstrHeader, bstrvalue)
bstrHeader:HTTP 頭(header)
bstrvalue: HTTP 頭(header)的值
如果Open方法定義為POST,可以定義表單方式上傳:
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
② Send(varBody)發(fā)送請求到http服務器并接收回應
varBody:指令集。可以是XML格式數(shù)據(jù),也可以是字符串,流,或者一個無符號整數(shù)數(shù)組。也可以省略,讓指令通過Open方法的URL參數(shù)代入。
③ abort 取消當前請求
④ getAllResponseHeaders 獲取響應的所有http頭
⑤ getResponseHeader 從響應信息中獲取指定的http頭
以上我給出了一些常用的屬性和方法,其他的大家可以參考相關(guān)的資料,或許我在今后的課程中會用到時講解。同時我們還要主要下面的注意點:
1、ResponseBody是二進制的數(shù)據(jù),是服務器傳來的沒有經(jīng)過任何加工的數(shù)據(jù)。
2 ResponseText是按照utf-8編碼把ResponseBody轉(zhuǎn)換而成,也就是:ResponseText=ByteToStr(ResponseBody,"UTF-8")
本節(jié)知識點回向:了解一些概念,HTTP,TCP/IP,XMLHTTP,以及XMLHTTP的常用屬性和方法。
我20多年的VBA實踐經(jīng)驗,全部濃縮在下面的各個教程中,教程學習順序:
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。