當前位置:開發者網絡 >> 技術教程 >> .NET教程 >> XML應用 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
使用XMLHTTP獲取XML文檔並生成XMLDOM
作者:未知
日期:2005-04-27
人氣:
投稿:(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:

MSXML中提供了Microsoft.XMLHTTP對象,能夠完成從數據包到Request對象的轉換以及發送任務。
創建XMLHTTP對象的語句如下:

var Http = new ActiveXObject("Microsoft.XMLHTTP");

對像創建後調用Open方法對Request對像進行初始化,語法格式為:
 
Http .open (http-method, url, async, userID, password);

Open方法中包含了5個參數,前三個是必要的,後兩個是可選的(在服務器需要進行身份驗證時提供)。參數的含義如下所示:
 
http-method:  HTTP的通信方式,比如GET或是 POST
url:   接收XML數據的服務器的URL地址。通常在URL中要指明 ASP或CGI程序
async:  一個布爾標識,說明請求是否為異步的。如果是異步通信方式(true),客戶機就不等待服務器的響應;如果是同步方式(false),客戶機就要等到服務器返回消息後才去執行其他操作
userID:  用戶ID,用於服務器身份驗證
password: 用戶密碼,用於服務器身份驗證

XMLHTTP對象的Send方法

用Open方法對Request對像進行初始化後,調用Send方法發送請求:

Http .send()

Send方法的參數類型是Variant,可以是字符串、DOM樹或任意數據流。發送數據的方式分為同步和異步兩種。在異步方式下,數據包一旦發送完畢,就結束Send進程,客戶機執行其他的操作;而在同步方式下,客戶機要等到服務器返回確認消息後才結束Send進程。
XMLHTTP對像中的readyState屬性能夠反映出服務器在處理請求時的進展狀況。客戶機的程序可以根據這個狀態信息設置相應的事件處理方法。屬性值及其含義如下表所示:
值 說明

0 Response對像已經創建,但XML文檔上載過程尚未結束
1 XML文檔已經裝載完畢
2 XML文檔已經裝載完畢,正在處理中
3 部分XML文檔已經解析
4 文檔已經解析完畢,客戶端可以接受返回消息

客戶機處理響應信息
客戶機接收到返回消息後,進行簡單的處理,基本上就完成了C/S之間的一個交互週期。客戶機接收響應是通過XMLHTTP對象的屬性實現的:

responseTxt:將返回消息作為文本字符串;
responseXML:將返回消息視為XML文檔,在服務器響應消息中含有XML數據時使用;
responseStream:將返回消息視為Stream對像

------一個很簡單的javascript例子,將獲取XML文本生成字XMLDOM對像---------------

var Http = new ActiveXObject("Microsoft.XMLHTTP");
var url='getItemXml.jsp?id=1';//該頁從數據庫裡詢數並生成返回規範的xml文本
Http.open("POST",url,false);
Http.send();
var xmldoc=new ActiveXObject("MSXML.DOMDocument");
xmldoc.async=false;
xmldoc.loadXML(Http.responseText);

相關文章: