首頁 後端開發 XML/RSS教程 XML相關技術資料總結

XML相關技術資料總結

Apr 05, 2017 pm 05:44 PM

xmlHTTP技術:
---------------------------- ------------------------------
一、資料庫遠端管理技術

基於網際網路的廣域網路現代應用中一個重要的環節是資料庫遠端監控。首先簡單回顧一下互聯網上的資料庫遠端管理技術的發展過程和方式:

早期透過編寫CGI-BIN程式模組進行資料庫遠端管理。但CGI-BIN的運作速度慢,維護很不方便,現在基本上已經被棄用。

這幾年使用元件物件模型(Component Object Model, COM)的應用非常多,效果也很好。但如果使用的是第三方伺服器(筆者的網站就是建立在第三方的虛擬主機上),伺服器方往往因為保密或其它商業原因不允許使用者註冊自己的元件。

近年來由微軟公司推出的.NET平台和SUN公司的J2EE平台都是非常高檔的資料庫遠端管理與服務平台。都能提供優質的多層(n-Tier)應用服務。
其中,.NET的簡單物件存取協定(Simple Object Access Protocol, SOAP)使用超文本傳輸協定(Hypertext Transfer Protocol, HTTP)和擴展標記語言(Extensible Markup Language, XML)技術實現跨系統(例如Windows - Linux)的通訊服務方式已經廣為開發商接受和使用。許多大型應用,例如企業資源計劃(Enterprise resource planning, ERP)等都建立在這樣的大型平台之上。
但對於中小型應用,例如一個網站的建置與維護,這種大型應用平台就顯得有些尾大不掉,開銷也過於龐大。

曾經在網路科技和Java技術方面一度落後的微軟公司在XML應用開發則走在了前面。她的XML解析器(MSXML)中的XMLHTTP協定是一個非常方便實用的客戶/服務通訊管道。綜合運用XMLHTTP以及ActiveX資料物件(ActiveX Data Objects, ADO/ADOX)可以簡單方便地實現資料庫遠端管理。

本文介紹如何綜合運用XMLHTTP和ADO/ADOX進行遠端資料庫管理。

二、資料庫遠端管理系統

資料庫遠端管理的任務流程是:
1、客戶端向服務端發出資料庫結構和資料的查詢或修改指令。
2、服務端接受並執行有關指令並向客戶端傳回結果。
3、客戶端接受並顯示服務端傳回的指令執行結果。

實作資料庫遠端管理的二個主要關鍵環節是:
1、客戶端與服務端之間的指令上傳和結果下傳的資料通道,由XMLHTTP協定實作。
2、服務端前緣與資料庫之間的指令傳送和結果返回,由起著中間層作用的ADO/ADOX介面完成。
三、XMLHTTP的使用

顧名思義,XMLHTTP是傳送XML格式資料的超文本傳輸協定。

實際上,XMLHTTP的資料傳輸過程更靈活一些:
它上傳的指令可以是XML格式數據,也可以是字串,流,或一個無符號整數數組。還可以是URL的參數。
它下達的結果可以是XML格式數據,也可以是字串,流,或是無符號整數陣列。
詳情可參閱文末連結。

客戶端呼叫XMLHTTP的過程很簡單,只有5個步驟:
1、建立XMLHTTP物件
2、開啟與服務端的連接,同時定義指令傳送方式,服務網頁(URL)和請求權限等。
    用戶端透過Open指令開啟與服務端的服務網頁的連線。與一般HTTP指令傳送一樣,可以用"GET"方法或"POST"方法指向服務端的服務網頁。
3、發送指令。
4、等待並接收服務端回傳的處理結果。
5、釋放XMLHTTP物件

XMLHTTP方法:
Open bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword
    bstrMethod:資料傳送方式,即GET或POST。
    bstrUrl:服務網頁的URL。
    varAsync:是否同步執行。預設為True,即同步執行,但只能在DOM中實施同步執行。
     應用中一般將其置為False,即非同步執行。
    bstrUser:使用者名,可省略。
    bstrPassword:使用者口令,可省略。

Send varBody
    varBody:指令集。可以是XML格式數據,也可以是字串,流,或是無符號整數陣列。也可以省略,讓指令透過Open方法的URL參數代入。

setRequestHeader bstrHeader, bstrValue
    bstrHeader:HTTP 頭(header)
    bstrValue:HTTP 頭(header)的值
    如果Open方法定義為POST,可以定義表單方式上傳:可以定義表單方式上傳: #    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

XMLHTTP
屬性onreadystatechange:在同步執行方式下獲得回傳結果的
事件句柄。只能在DOM中呼叫。 responseBody:結果回傳為無符號整數陣列。
responseStream:結果回傳為IStream流。
responseText :結果回傳為字串。
responseXML:結果傳回為XML格式資料。


以下是本文附件原始程式中的一個應用範例:
Function GetResult(urlStr)
    Dim xmlHttp
    Dim retStr

    Set xmlHttp = CreateObject( "Msxml2.XMLHTTP")    '
建立物件     On Error Resume Next                    與為「選擇」為「#」「錯誤用POST方式開啟連接,非同步執行。
    xmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" '上傳表單
    xmlHttp.Send        # c   # c  Err.Number = 0 Then                    '如果連線正確
        retStr = xmlHttp.responseText        '等待並取得服務端回傳的結果字串
    Else
      出錯訊息
    End If
    Set xmlHttp = nothing                    '釋放物件
    GetResult = retStr          網頁的URL參數,把上傳的指令安置在URL後面的參數上,如:
    urlStr = "server.asp?cmd=" & cmd & "&db=" & db & "table=" & table
    cmd:執行方式,例如查詢,修改,刪除等等。
    db:服務端資料庫名稱
    table:服務端表名

然後提交指令,等待並接收回傳的處理結果。結果以字串方式傳回。

最後由函數呼叫者處理並顯示結果。


#

以上是XML相關技術資料總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

能否用PowerPoint開啟XML文件 能否用PowerPoint開啟XML文件 Feb 19, 2024 pm 09:06 PM

XML檔可以用PPT開啟嗎? XML,即可擴展標記語言(ExtensibleMarkupLanguage),是一種廣泛應用於資料交換和資料儲存的通用標記語言。與HTML相比,XML更加靈活,能夠定義自己的標籤和資料結構,使得資料的儲存和交換更加方便和統一。而PPT,即PowerPoint,是微軟公司開發的一種用於創建簡報的軟體。它提供了圖文並茂的方

使用Python實現XML資料的合併與去重 使用Python實現XML資料的合併與去重 Aug 07, 2023 am 11:33 AM

使用Python實現XML資料的合併和去重XML(eXtensibleMarkupLanguage)是一種用於儲存和傳輸資料的標記語言。在處理XML資料時,有時候我們需要將多個XML檔案合併成一個,或移除重複的資料。本文將介紹如何使用Python實現XML資料的合併和去重的方法,並給出對應的程式碼範例。一、XML資料合併當我們有多個XML文件,需要將其合

Python中的XML資料轉換為CSV格式 Python中的XML資料轉換為CSV格式 Aug 11, 2023 pm 07:41 PM

Python中的XML資料轉換為CSV格式XML(ExtensibleMarkupLanguage)是一種可擴充標記語言,常用於資料的儲存與傳輸。而CSV(CommaSeparatedValues)則是一種以逗號分隔的文字檔案格式,常用於資料的匯入和匯出。在處理資料時,有時需要將XML資料轉換為CSV格式以便於分析和處理。 Python作為一種功能強大

使用Python實現XML資料的篩選和排序 使用Python實現XML資料的篩選和排序 Aug 07, 2023 pm 04:17 PM

使用Python實現XML資料的篩選和排序引言:XML是一種常用的資料交換格式,它以標籤和屬性的形式儲存資料。在處理XML資料時,我們經常需要對資料進行篩選和排序。 Python提供了許多有用的工具和函式庫來處理XML數據,本文將介紹如何使用Python實現XML資料的篩選和排序。讀取XML檔案在開始之前,我們需要先讀取XML檔案。 Python有許多XML處理函式庫,

使用PHP將XML資料匯入資料庫 使用PHP將XML資料匯入資料庫 Aug 07, 2023 am 09:58 AM

使用PHP將XML資料匯入資料庫引言:在開發中,我們經常需要將外部資料匯入到資料庫中進行進一步的處理和分析。而XML作為一種常用的資料交換格式,也常被用來儲存和傳輸結構化資料。本文將介紹如何使用PHP將XML資料匯入資料庫。步驟一:解析XML文件首先,我們需要解析XML文件,擷取所需的資料。 PHP提供了幾種解析XML的方式,其中最常用的是使用Simple

Python實作XML與JSON之間的轉換 Python實作XML與JSON之間的轉換 Aug 07, 2023 pm 07:10 PM

Python實作XML與JSON之間的轉換導語:在日常的開發過程中,我們常常需要將資料在不同的格式之間轉換。 XML和JSON是常見的資料交換格式,在Python中,我們可以使用各種函式庫來實作XML和JSON之間的相互轉換。本文將介紹幾種常用的方法,並附帶程式碼範例。一、XML轉JSON在Python中,我們可以使用xml.etree.ElementTree模

使用Python處理XML中的錯誤和異常 使用Python處理XML中的錯誤和異常 Aug 08, 2023 pm 12:25 PM

使用Python處理XML中的錯誤和異常XML是一種常用的資料格式,用於儲存和表示結構化的資料。當我們使用Python處理XML時,有時可能會遇到一些錯誤和異常。在本篇文章中,我將介紹如何使用Python來處理XML中的錯誤和異常,並提供一些範例程式碼供參考。使用try-except語句捕捉XML解析錯誤當我們使用Python解析XML時,有時候可能會遇到一些

Python解析XML中的特殊字元和轉義序列 Python解析XML中的特殊字元和轉義序列 Aug 08, 2023 pm 12:46 PM

Python解析XML中的特殊字元和轉義序列XML(eXtensibleMarkupLanguage)是一種常用的資料交換格式,用於在不同系統之間傳輸和儲存資料。在處理XML檔案時,經常會遇到包含特殊字元和轉義序列的情況,這可能會導致解析錯誤或誤解資料。因此,在使用Python解析XML檔案時,我們需要了解如何處理這些特殊字元和轉義序列。一、特殊字元和

See all articles