DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> xmlHTTP xmlDOC 與 C#中DataSet的結合 實現AJAX簡單示例
xmlHTTP xmlDOC 與 C#中DataSet的結合 實現AJAX簡單示例
編輯:AJAX詳解     

本例包括
1.客戶端用XMLHTTP 向服務器頁面發送請求
2.服務器頁面後台用C#中DataSet實現數據庫的操作 並得到結果
3.客戶端用xmlDOC 得到XMLHTTP返回的結果 並對結果進行操作

附錄
XMLHTTP的常用方法和屬性
XMLDOC的常用方法和屬性

=========================
發送XMLHttp請求到服務器端
=========================

var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
XMLhttp.open("GET","Default2.ASPx",false,"","");
XMLhttp.send();
======================
服務器端的相關數據處理
======================

    protected void Page_Load(object sender, EventArgs e)
    {
        //連接數據庫
        SqlConnection myConn = new SqlConnection("Data Source=192.168.0.36;Initial Catalog=Northwind;User ID=sa;PassWord=sa");
        SqlDataAdapter myda = new SqlDataAdapter("select top 5 * from orders", myConn);
        DataSet myds = new DataSet();
        myConn.Open();
        myda.Fill(myds);
        myConn.Close();
 
        // 把XML對象發送給客戶端
        Response.ContentType = "text/XML";
        Response.Write(myds.GetXML());
        Response.End();
    }

=============================================
xmlDOC 得到XMLHTTP返回的結果 並對結果進行操作
=============================================


// 從服務器得到處理後的XML對象
var xmldom = new ActiveXObject("Microsoft.XMLDOM");
xmlhttp.responseXML.createProcessingInstruction("XML"," version=\"1.0\" encoding=\"gb2312\"");
xmldom = xmlhttp.responseXML.documentElement;
//alert(xmldom.XML);
     
// 通過XMLdom操作結果
var length = XMLdom.getElementsByTagName("OrderID").length;
alert(length);

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

用Open方法對Request對象進行初始化後,調用Send方法發送XML數據

Send方法
    參數類型是Variant,可以是字符串、DOM樹或任意數據流。
    發送數據的方式分為同步和異步兩種。
    在異步方式下,數據包一旦發送完畢,就結束Send進程,客戶機執行其他的操作;
    而在同步方式下,客戶機要等到服務器返回確認消息後才結束Send進程。

XMLHTTP對象中的readyState屬性
    能夠反映出服務器在處理請求時的進展狀況。
    客戶機的程序可以根據這個狀態信息設置相應的事件處理方法。
    值 說明
    0   Response對象已經創建,但XML文檔上載過程尚未結束
    1   XML文檔已經裝載完畢
    2   XML文檔已經裝載完畢,正在處理中
    3   部分XML文檔已經解析
    4   文檔已經解析完畢,客戶端可以接受返回消息

客戶機接收響應是通過XMLHTTP對象的屬性實現
    responseText:將返回消息作為文本字符串;
    responseBody:將返回消息作為Html文檔內容;
    responseXML:將返回消息視為XML文檔,在服務器響應消息中含有XML數據時使用;
    responseStream:將返回消息視為Stream對象

=======
XMLDOC
=======
Document 對象屬性
以下所列是可用的document對象屬性:
1. async
2. attributes
3. childNodes
4. doctype
5. document.lement
6. firstChild
7. implementation
8. lastChild
9. nextSibling
10. nodeName
11. nodeType
12. nodevalue
13. ondataavailable
14. onreadystatechange
15. ownerdocument.
16. parentNode
17. parseError
18. previousSibling
19. readyState
20. url
21. validateOnParse
22. XML

以下列出關於document對象可用的方法。
1. abort
2. appendChild
3. cloneNode
4. createAttribute
5. createCDATASection
6. createComment
7. createdocument.ragment
8. createElement
9. createEntityReference
10. createNode
11. createProcessingInstruction
12. createTextNode
13. getElementsByTagName
14. hasChildNodes
15. insertBefore
16. load
17. loadXML
18. nodeFromID
19. parsed
20. removeChild
21. replaceChild
22. selectNodes
23. selectSingleNode
24. transformNode

下面列出來的是document對象可用的事件:
1. Ondataavailable
2. Onreadystatechange

Document 對象屬性
以下所列是可用的document對象屬性:
1. async
2. attributes
3. childNodes
4. doctype
5. document.lement
6. firstChild
7. implementation
8. lastChild
9. nextSibling
10. nodeName
11. nodeType
12. nodevalue
13. ondataavailable
14. onreadystatechange
15. ownerdocument.
16. parentNode
17. parseError
18. previousSibling
19. readyState
20. url
21. validateOnParse
22. XML


async 屬性
------------------
async 屬性表示是否允許異步的下載。

基本語法:
boolvalue = XMLdocument.async;
XMLdocument.async = boolvalue;
說明:布爾值是可擦寫的(read/write),如果准許異步下載,值為True;反之則為False。
使用范例:
XMLDoc.async = "false";
alert(XMLDoc.async);

attribute 屬性
-------------------
傳回目前節點的屬性列表。

基本語法:
objAttributeList = XMLNode.attributes;
說明:傳回一個物件。如果此節點不能包含屬性,則傳回空值。
使用范例:
objAttList = XMLDoc.document.lement.attributes;
alert(objAttList);
------------------------------------------------------------------------------
[Note]
例子以[object]為結果傳回。
這是由於被傳回的對象,若不使用其它的對象屬性,就不能以文字來表示,
在本附錄中包含數個這樣的例子。盡管很多對象屬性本身似乎不是很有用,
但您將會在附錄中看到如何組合屬性和方法得到您要的結果。
------------------------------------------------------------------------------


childNodes 屬性
-----------------
傳回一個節點清單,包含該節點所有可用的子節點。

基本語法:
objNodeList=node.childNodes;
說明:傳回一個物件。假如這節點沒有子節點,傳回null。
使用范例:
objNodeList = XMLDoc.childNodes;
alert(objNodeList);


doctype 屬性
-----------------
傳回文件型態節點,包含目前文件的DTD。
這節點是一般的文件型態宣告,
例如,節點<!DOCTYPE EMAIL SYSTEM "LstA_2.dtd">,
名為EMAIL 的節點物件會被傳回。

基本語法:
objDocType=XMLdocument.doctype;
說明:傳回一個對象,這個屬性是只讀的。假如這文件不包含DTD,會傳回null。
使用范例:
objDocType = XMLDoc.doctype;
alert(objDocType.nodeName);
document.lement 屬性


確認XML 文件的根(Root)節點。
----------------------------
基本語法:
objDoc=XMLdocumentdocument.element;
說明:回一個在單一根文件元素中包含數據的對象。
此屬性可讀/寫,如果文件中不包含根節點,將傳回null。


使用范例:
objDocRoot = XMLDoc.document.element;
alert(objDocRoot);


firstChild 屬性
-----------------
確認在目前節點中的第一個子元素。

基本語法:
objFirstChild = XMLDocNode.firstChild;
說明:此屬性只讀且會傳回一對象,如果節點中沒有包含第一個子元素,將傳回null。
使用范例:
objFirstChild = XMLDoc.document.lement.firstChild;
alert(objFirstChild);


implementation 屬性
---------------------
DOM 應用程序能使用其它實作中的對象。
implementation 屬性確認目前XML 文件的DOMimplementation 對象

基本語法:
objImplementation = XMLdocument.implementation;
說明:此屬性只讀且傳回一個對象。
使用范例:
objImp = XMLDoc.implementation;
alert(objImp);

lastChild 屬性
---------------
確認目前節點中最後的子元素。

基本語法:
objLastChild = XMLDocNode.lastChild;
說明:此屬性只讀且傳回一個對象。如果節點中沒有包含最後子元素,將傳回null。
使用范例:
objLastChild = XMLDoc.document.lement.lastChild;
alert(objLastChild);

nextSibling 屬性
------------------
在目前文件節點的子節點列表中傳回下一個兄弟節點。

基本語法:
objNextSibling = XMLDocNode.nextSibling;
說明:此屬性是只讀且傳回一個對象。如果節點中沒有包含其它的相關節點,會傳回null。
使用范例:
obJSibling = XMLDoc.document.lement.childNodes.item(1).nextSibling;
alert(obJSibling);

nodeName 屬性
---------------
傳回代表目前節點名稱的字符串。

基本語法:
strNodeName = XMLDocNode.nodeName ;
說明:傳回一個字符串。這個屬性是只讀的,傳回元素名稱、屬性或實體參照。
使用范例:
strNodeName = XMLDoc.document.lement.nodeName;
alert(strNodeName);

nodeType 屬性
---------------
辨識節點的DOM 型態。

基本語法:
numNodeType = XMLDocNode.nodeType;
說明:此屬性只讀且傳回一個數值。

有效的數值符合以下的型別:
1-ELEMENT
2-ATTRIBUTE
3-TEXT
4-CDATA
5-ENTITY REFERENCE
6-ENTITY
7-PI (processing instruction)
8-COMMENT
9-document.
10-document.nbsp;TYPE
11-document.nbsp;FRAGMENT
12-NOTATION
-------------------------------
使用范例:
numNodeType = XMLDoc.document.lement.nodeType;
alert(numNodeType);

nodevalue 屬性
-----------------
傳回指定節點相關的文字。
這並非一個元素中數據的值,而是與一個節點相關且未解析的文字,
就像一個屬性或者一個處理指令。

基本語法:
varNodevalue = XMLDocNode.nodevalue;
說明:傳回的文字代表以節點的nodeType 屬性為主的型態值。
(請參考附錄中的nodeType 屬性。)
因為節點型態可能是幾種數據型態中的一種,傳回值也因此有差異。
傳回null 的節點型態有:
document.ELEMENT、document.TYPE、document.FRAGMENT、
ENTITY、ENTITY REFERENCE,和NOTATION。
此屬性可擦寫。
使用范例:
varNodevalue = XMLDoc.document.lement.nodevalue;
alert(varNodevalue);

ondataavailable 屬性
---------------------
指定一個事件來處理ondataavailable 事件。
(更多關於ondataavailable 事件的信息,
請參閱附錄中<document對象事件>的部分)。

基本語法:
XMLDocNode.ondataavailable = value;
說明:此屬性是唯寫,允許文件作者一旦數據為可用,即可盡快的使用數據來運作。
使用范例:
XMLDoc.ondataavailable = alert("Data is now available.");


onreadystatechange 屬性
------------------------
指定一個事件來處理onreadystatechange 事件。
這個事件能辨識readyState 屬性的改變。

基本語法:
XMLDocNode.onreadystatechange = value;
說明:此屬性是唯寫的,允許文件作者指定當readyState 屬性改變時呼叫事件。
使用范例:
XMLDoc.onreadystatechange =
alert("The readyState property has changed.");


ownerdocument屬性
------------------------
傳回文件的根節點,包含目前節點。


基本語法:
objOwnerDoc = XMLdocument.ownerdocument.
說明:此屬性是只讀的,傳回一個包含文件根節點的對象,包含特定的節點。
使用范例:
objOwnerDoc = XMLDoc.childNodes.item(2).ownerdocument.
alert(objOwnerDoc);


parentNode 屬性
-----------------
傳回目前節點的父節點。只能應用在有父節點的節點中。
 
基本語法:
objParentNode = XMLdocument.ode.parentNode;
說明:此屬性是只讀的,傳回包含指定節點的父節點對象。
如果此節點不存在於文件樹中,將傳回null。
使用范例:
objParentNode = XMLDoc.childNodes.item(1).parentNode;
alert(objParentNode);


parseError 屬性
-----------------
傳回一個DOM 解析錯誤對象,此對象描述最後解析錯誤的訊息。

基本語法:
objParseErr = XMLdocument.parseError;
說明:此屬性是只讀的。如果沒有錯誤發生,將傳回0。
使用范例:
objParseErr = XMLDoc.parseError;
alert(objParseErr);


previousSibling 屬性
---------------------
傳回目前節點之前的兄弟節點。

基本語法:
objPrevSibling = XMLdocument.previousSibling;
說明:傳回一個對象,這個屬性是只讀的。若該節點沒有包含前面的兄弟節點,會傳回null。
使用范例:
objPrevSibling = XMLDoc.document.lement.childNodes.item(3).previousSibling
alert(objPrevSibling);


readyState 屬性
-------------------
傳回XML 文件資料的目前狀況。

基本語法:
intState = XMLdocument.readyState;
說明:這個屬性是只讀的,
傳回值有以下的可能:
0-UNINITIALIZED:XML 對象被產生,但沒有任何文件被加載。
1-LOADING:加載程序進行中,但文件尚未開始解析。
2-LOADED:部分的文件已經加載且進行解析,但對象模型尚未生效。
3-INTERACTIVE:僅對已加載的部分文件有效,在此情況下,對象模型是有效但只讀的。
4-COMPLETED:文件已完全加載,代表加載成功。
使用范例:
alert("The readyState property is " + XMLDoc.readyState);


url 屬性
---------------
傳回最近一次加載XML 文件的URL。

基本語法:
strDocUrl = XMLdocument.url;
說明:這個屬性是只讀的,傳回最近一次加載成功文件的URL,
若文件僅存在主存儲器中(表示該文件並非由外部檔案加載),則傳回null
使用范例:
alert(XMLDoc.url);

validateOnParse 屬性
----------------------
告訴解析器文件是否有效。

基本語法:
boolValidate = XMLdocument.validateOnParse;
XMLdocument.validateOnParse = boolValidate;
說明:此屬性是可擦寫的。
如果傳回值為true,表示文件被解析時被確認是有效的。
如果傳回false,表示文件是無效的,並被認為只是標准格式的(well-formed)文件。
使用范例:
XMLDoc.validateOnParse = true;
alert(XMLDoc.validateOnParse);

XML 屬性
------------
傳回指定節點的XML 描述和所有的子節點。

基本語法:
xmlvalue = xmldocument.ode.XML;
說明:此屬性是只讀的。
使用范例:
xmlvalue = xmlDoc.document.lement.XML;
alert(XMLvalue);


以下列出關於document對象可用的方法。
1. abort
2. appendChild
3. cloneNode
4. createAttribute
5. createCDATASection
6. createComment
7. createdocument.ragment
8. createElement
9. createEntityReference
10. createNode
11. createProcessingInstruction
12. createTextNode
13. getElementsByTagName
14. hasChildNodes
15. insertBefore
16. load
17. loadXML
18. nodeFromID
19. parsed
20. removeChild
21. replaceChild
22. selectNodes
23. selectSingleNode
24. transformNode


abort 方法
-------------
abort 方法取消一個進行中的異步下載。

基本語法:
XMLdocument.abort();
說明:如果這個方法在異步下載時被呼叫,所有的解析動作會停止,
而且在內存中的文件會被釋放。


AppendChild 方法
------------------
加上一個節點當作指定節點最後的子節點。

基本語法:
XMLdocument.ode.appendChild(newChild);
說明:newChild 是附加子節點的地址。
使用范例:
docObj = XMLDoc.document.lement;
alert(docObj.XML);
objNewNode = docObj.appendChild(XMLDoc.document.lement.firstChild);
alert(docObj.XML);

cloneNode 方法
---------------
建立指定節點的復制。

基本語法:
XMLdocument.ode.cloneNode(deep);
說明:deep 是一個布爾值。
如果為true,此節點會復制以指定節點發展出去的所有節點。
如果是false,只有指定的節點和它的屬性被復制。
使用范例:
currNode = XMLDoc.document.lement.childNodes.item(1);
objClonedNode = currNode.cloneNode(1);
alert(objClonedNode.XML);


createAttribute 方法
------------------------
建立一個指定名稱的屬性。

基本語法:
XMLdocument.createAttribute(name);
說明:name 是被建立屬性的名稱。
使用范例:
objNewAtt = XMLDoc.createAttribute("encryption");
alert(objNewAtt.XML);

createCDATASection 方法
------------------------
建立一個包含特定數據的CDATA。

基本語法:
XMLdocument.createCDATASection(data);
說明:date 是一個字符串,且包含了被置放在CDATA 的資料。
使用范例:
objNewCDATA = XMLDoc.createCDATASection("This is a CDATA Section");
alert(objNewCDATA.XML);


createComment 方法
-------------------
建立一個包含指定數據的批注。

基本語法:
XMLdocument.createComment(data);
說明:data 是一個字符串,且包含了被置放在批注的資料
使用范例:
objNewComment = XMLDoc.createComment("This is a comment");
alert(objNewComment.XML);


createdocument.ragment 方法
-----------------------------
建立一個空的文件片斷對象。

基本語法:
XMLdocument.createdocument.ragment();
說明:一個新的文件片斷被建立,但沒有加到文件樹中。
要加入片斷到文件樹中,必須使用插入方法,
例如insertBefore、replaceChild 或 appendChild。
使用范例:
objNewFragment = XMLDoc.createdocument.ragment();
alert(objNewFragment.XML);

createElement 方法
--------------------
建立一個指定名稱的元素。

基本語法:
XMLdocument.createElement(tagName);
說明:tagName 是一個區分大小寫的字符串來指定新元素名稱。
使用范例:
objNewElement = XMLDoc.createElement("TO");
alert(objNewElement.XML);

createEntityReference 方法
-----------------------------
建立一個參照到指定名稱的實體。


基本語法:
XMLdocument.createEntityReference(name);
說明:name 是一個區分大小寫的字符串,來指定新實體參照的名稱。
一個新的實體參照被建立,但是並沒有被加到文件樹中。
若要將實體參照 加到文件樹中,必須使用一種插入方法,
例如:insertBefore,replaceChild,或appendChild。
使用范例:
objNewER = XMLDoc.createEntityReference("eRef");
alert(objNewER.XML);


createNode 方法
----------------------
建立一個指定型態、名稱,及命名空間的新節點。

基本語法:
XMLdocument.createNode(type, name, nameSpaceURI);
說明:
type 用來確認要被建立的節點型態,
name 是一個字符串來確認新節點的名稱,命名空間的前綴則是選擇性的。
nameSpaceURI 是一個定 義命名空間URI 的字符串。
如果前綴被包含在名稱參數中,此節點會在nameSpaceURI 的內文中以指定的前綴建立。
如果不包含前綴,指定的命 名空間會被視為預設的命名空間。
使用范例:
objNewNode = XMLDoc.createNode(1,"TO","");
alert(objNewNode.XML);

createProcessingInstruction 方法
--------------------------------
建立一個新的處理指令,包含了指定的目標和數據。

基本語法:
XMLdocument.createProcessingInstruction(target, data);
說明:
target 是表示目標、名稱或處理指令的字符串。
Data 是表示處理指令的值。
一個新的處理指令被建立,但是並沒有加到文件樹中。
要把處理指令加到文件樹中,必須使用插入方法,
例如:insertBefore、replaceChild,或是appendChild。
使用范例:
objNewPI = xmlDoc.createProcessingInstruction(‘XML’, ‘version="1.0"’);
alert(objNewPI.XML);


createTextNode 方法
------------------------
建立一個新的text 節點,並包含指定的數據。

基本語法:
XMLdocument.createTextNode(data);
說明:
data 是一個代表新text 節點的字符串。
一個新的text 節點被建立,但是沒有加到文件樹中。
若要將節點加到文件樹中,必須使用插入 方法,
例如:insertBefore,replaceChild或appendChild。
使用范例:
objNewTextNode = XMLDoc.createTextNode("This is a text node.");
alert(objNewTextNode.XML);

getElementsByTagName 方法
-----------------------------
傳回指定名稱的元素集合。

基本語法:
objNodeList = XMLdocument.getElementsByTagName(tagname);
說明:
tagname 是一個字符串,代表找到的元素卷標名稱。
使用tagname "*"傳回文件中所有找到的元素。
使用范例:
objNodeList = XMLDoc.getElementsByTagName("*");
alert(objNodeList.item(1).XML);


haschildnodes 方法
----------------------
如果指定的節點有一個或更多子節點,傳回值為true。

基本語法:
boolvalue = XMLdocument.ode.hasChildNodes() ;
說明:如果此節點有子節點傳回值為true,否則傳回false 值。
使用范例:
boolvalue = XMLDoc.document.lement.hasChildNodes();
alert(boolvalue);


insertBefore 方法
---------------------
在指定的節點前插入一個子節點。

基本語法:
objdocument.ode = XMLdocument.ode.insertBefore(newChild,refChild);
說明:
newChild 是一個包含新子節點地址的對象,
refChild 是參照節點的地址。
新子節點被插到參照節點之前。
如果refChild 參數沒有包含 在內,新的子節點會被插到子節點列表的末端。
使用范例:
objRefNode = XMLDoc.document.lement;
alert(xmlDoc.XML);
objNewNode = XMLDoc.createComment("This is a comment");
XMLDoc.insertBefore(objNewNode, objRefNode);
alert(xmlDoc.XML);


load 方法
--------------
表示從指定位置加載的文件。

基本語法:
boolvalue = XMLdocument.load(url);
說明:
url 包含要被加載檔案的URL 的字符串。
假如文件加載成功,傳回值即為true。
若加載失敗,傳回值為false。
使用范例:
boolvalue = xmlDoc.load("Lst.XML");
alert(boolvalue);


loadXML 方法
----------------
加載一個XML 文件或字符串的片斷。

基本語法:
boolvalue = xmldocument.loadXML(XMLString);
說明:xmlString 是包含XML 文字碼的字符串。
這個字符串可以包含整個文件或者只是一個文件片斷。
如果文件加載成功,傳回值為true。
假如加載失敗,傳回值則是false。
使用范例:
XMLString = "<GREETING><MESSAGE>Hello!</MESSAGE></GREETING>";
boolvalue = xmlDoc.loadXML(XMLString);
alert(boolvalue);


nodeFromID 方法
------------------
傳回節點ID 符合指定值的節點。

基本語法:
xmldocument.ode = XMLdocument.nodeFromID(idString);
說明:
idString 是一個包含ID 值的字符串。
符合的節點必定是ID 型態。
若符合,將傳回一個對象;若操作失敗,則傳回null。
使用范例:
objdocument.ode = XMLDoc.nodeFromID("TO");
alert(objdocument.ode);

parsed 方法
-------------
會驗證該指定的節點(node)及其衍生的子節點(descendants)是否已被解析過。

基本語法:
boolvalue = XMLdocument.ode.parsed();
說明:
如果全部的節點都已經被解析過了,則傳回值為ture;
如果有任何一個節點尚未被解析,傳回值則為false。
使用范例:
currNode = XMLDoc.document.lement.childNodes.item(0);
boolvalue = currNode.parsed();
alert(boolvalue);


removeChild 方法
-------------------
會將指定的節點從節點清單中移除。

基本語法:
objdocument.ode = XMLdocument.ode.removeChild(oldChild);
說明:oldChild 為一個包含要被移除的節點對象。
使用范例:
objRemoveNode = XMLDoc.document.lement.childNodes.item(3);
alert(xmlDoc.XML);
XMLDoc.document.lement.removeChild(objRemoveNode);
alert(xmlDoc.XML);


replaceChild 方法
--------------------
置換指定的舊子節點為提供的新子節點。

基本語法:
objdocument.ode = XMLdocument.ode.replaceChild(newChild,oldChild);
說明:
newChild 為包含新子節點的對象。
如果此參數為null,則此舊子節點會被移除而不會被取代。
oldChild 為包含舊子節點的對象。
使用范例:
objOldNode = XMLDoc.document.lement.childNodes.item(3);
objNewNode = XMLDoc.createComment("I've replaced the BCC element.");
alert(xmlDoc.XML);
XMLDoc.document.lement.replaceChild(objNewNode,objOldNode);
alert(xmlDoc.XML);


selectNodes 方法
--------------------
傳回所有符合提供樣式(pattern)的節點。

基本語法:
objdocument.odeList = XMLdocument.ode.selectNodes(patternString);
說明:
patternString 為一包含XSL 樣式的字符串。
此方法會傳回節點清單對象,包含符合樣式的節點。
如果沒有符合的節點,則傳回空的清單列表。
使用范例:
objNodeList=XMLDoc.selectNodes("/");
alert(objNodeList.item(0).XML);


selectSingleNode 方法
--------------------------
傳回第一個符合樣式的節點。

基本語法:
objdocument.ode = XMLdocument.ode.selectSingleNode(patternString);
說明:
patternString 為一包含XSL 樣式的字符串。
此方法會傳回第一個符合的節點對象,如果沒有符合的節點,則傳回null。
使用范例:
objNode = XMLDoc.selectSingleNode("EMAIL/BCC");
alert(objNode.XML);


transformNode 方法
----------------------
使用提供的樣式表來處理該節點及其子節點。

基本語法:
strTransformeddocument= XMLdocument.ode.transformNode(stylesheet);
說明:
stylesheet 為一XML 文件或是片斷包含負責節點轉換工作的XSL 元素。
此方法會傳回一包含轉換結果的字符串。

使用范例:
var style = new ActiveXObject("Microsoft.XMLDOM");
style.load("Lst.xsl");
strTransform = XMLDoc.transformNode(style.document.lement);
alert(strTransform);

Document 對象的事件

下面列出來的是document對象可用的事件:
1. Ondataavailable
2. Onreadystatechange


Ondataavailable 事件
----------------------
此事件會在XML 文件有效時被觸發。

基本語法:
此一事件有下面三種處理方式
. Inline:<element ondataavailable = handler>;
. Event property:object.ondataavailable = handler;
. Named script:<SCRIPT FOR = object EVENT = ondataavailable>;
說明:ondataavailable 事件只要一獲得有效的數據就會被觸發。
這項技術並未說明在這個文件中有多少數據是有效的。
使用范例:
XMLDoc.ondataavailable = alert('Data is now available.');


Onreadystatechange 事件
------------------------
這個事件會在readyState 屬性內容改變時被觸發。

基本語法:
此一事件有如下三種處理方式:
. Inline:<element onreadystatechange = handler>;
. Event property:object.onreadystatechange = handler;
. Named script:<SCRIPT FOR = object EVENT = onreadystatechange>;
-
說明:
onreadystatechange 事件在readyState 屬性內容改變時就會被觸發,
但這個事件並未說明「准備好」的狀態是什麼。
必須使用readyState 屬性來取得現在的狀態。
使用范例:
XMLDoc.onreadystatechange =
alert("The readyState property is" + XMLDoc.readyState);  

http://www.cnblogs.com/freeliver54/archive/2006/11/27/573657.Html

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved