`
qinxike
  • 浏览: 23155 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

xmlHTTP xmlDOC 与 C#中DataSet的结合 实现AJAX简单示例

 
阅读更多
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="ProgId" content="Word.Document"> <meta name="Generator" content="Microsoft Word 11"> <meta name="Originator" content="Microsoft Word 11"> <link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CADMINI%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><style> <!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"/@宋体"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋体; mso-font-kerning:1.0pt;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} --> </style> <!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->

xmlHTTP xmlDOC C#DataSet的结合 实现AJAX简单示例

资料引用:http://www.knowsky.com/341442.html

本例包括

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中要指明 ASPCGI程序

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. documentlement

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. documentlement

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=xmldocumentdoctype;

说明:传回一个对象,这个属性是只读的。假如这文件不包含DTD,会传回null

使用范例:

objDocType = xmlDoc.doctype;

alert(objDocType.nodeName);

documentlement 属性

确认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.documentlement.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-documentnbsp;TYPE

11-documentnbsp;FRAGMENT

12-NOTATION

-------------------------------

使用范例:

numNodeType = xmlDoc.document.lement.nodeType;

alert(numNodeType);

nodevalue 属性

-----------------

传回指定节点相关的文字。

这并非一个元素中数据的值,而是与一个节点相关且未解析的文字,

就像一个属性或者一个处理指令。

基本语法:

varNodevalue = xmlDocNode.nodevalue;

说明:传回的文字代表以节点的nodeType 属性为主的型态值。

(请参考附录中的nodeType 属性。)

因为节点型态可能是几种数据型态中的一种,传回值也因此有差异。

传回null 的节点型态有:

document.ELEMENTdocument.TYPEdocument.FRAGMENT

ENTITYENTITY 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 = xmldocumentode.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.documentlement.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 = xmldocumentvalidateOnParse;

xmldocumentvalidateOnParse = 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();

说明:一个新的文件片断被建立,但没有加到文件树中。

要加入片断到文件树中,必须使用插入方法,

例如insertBeforereplaceChild 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 是一个区分大小写的字符串,来指定新实体参照的名称。

一个新的实体参照被建立,但是并没有被加到文件树中。

若要将实体参照 加到文件树中,必须使用一种插入方法,

例如:insertBeforereplaceChild,或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 是表示处理指令的值。

一个新的处理指令被建立,但是并没有加到文件树中。

要把处理指令加到文件树中,必须使用插入方法,

例如:insertBeforereplaceChild,或是appendChild

使用范例:

objNewPI = xmlDoc.createProcessingInstruction(‘XML’, ‘version="1.0"’);

alert(objNewPI.xml);

createTextNode 方法

------------------------

建立一个新的text 节点,并包含指定的数据。

基本语法:

xmldocument.createTextNode(data);

说明:

data 是一个代表新text 节点的字符串。

一个新的text 节点被建立,但是没有加到文件树中。

若要将节点加到文件树中,必须使用插入 方法,

例如:insertBeforereplaceChildappendChild

使用范例:

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

资料引用:http://www.knowsky.com/341442.html

分享到:
评论

相关推荐

    c# 用Xmlhttp下载文件

    c# 用Xmlhttp下载文件,代码完整,运行即可看到效果

    Ajax最简单例子Demo

    Ajax最简单例子,一个例子让你明白Ajax原理,XMLHttpRequest原理 var http_request = false; function createRequest(url) { http_request = false; if (window.XMLHttpRequest) { // Mozilla浏览器 ...

    xmlHttp对象 手动Ajax

    xmlHttp对象 手动AjaxxmlHttp对象 手动AjaxxmlHttp对象 手动Ajax

    手写ajax的xmlhttp

    手写ajax的xmlhttp协议,创建ajax

    ajax 实现二级下拉框,地址联动,serverlet,java,xmlHttp

    ajax 二级下拉框ajax 实现二级下拉框,地址联动,xmlHttp,serverlet,java,ajax 实现二级下拉框,地址联动,xmlHttp,serverlet,java,

    .net ajax示例

    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") ; }else if(window.XMLHttpRequest){ xmlHttp=new XMLHttpRequest() ; } } function checkPwd(){ var cardNo ; var businessCard =document....

    xmlhttp示例asp

    xmlhttp示例,asp xmlhttp示例,asp xmlhttp示例,asp

    c# + js + ajax

    1.对xmlHttp.responseText的操作 2.对xmlHttp.responseXML的操作 3.定时刷新 setTimeout 带参数函数的操作

    易语言xmlhttp简单应用

    易语言xmlhttp简单应用源码,xmlhttp简单应用

    xmlhttp说明文档,xmlhttp中文帮助文档,chm格式

    xmlhttp中文帮助文档 Xmlhttp是一种浏览器对象, 可用于模拟http的GET和POST请求。配合JavaScript可以实现页面数据在无刷新下的定时数据更新,如果应用在聊天室、文字直播上可以取得较好的视觉效果。 使用范例: ...

    在VC中使用XMLHTTP

    主 题: 在VC中使用XMLHTTP,怎样初始化,怎样建立连接?在线等。 我的一段代码在.NET中用C#已经调通,我想搬到VC++ 6.0上,但不知道任何各种写法规则。 C# 中为: MSXML2.XMLHTTP xmlHttp_ = new ...

    Ajax原理分析及其实现的简单代码

    var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2....

    ajax的xmlhttp的帮助手册

    ajax的xmlhttp的帮助手册,这是一本基础性的帮助手册。对于初学者和入门者是一本不错的书籍。

    AJAX示例程序,AJAX初学入门

     xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" ); }  else{  xmlhttp_request = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );  xmlhttp_request.setRequestHeader("Content-Type","text...

    xmlhttp简单应用.rar

    xmlhttp简单应用.rar xmlhttp简单应用.rar xmlhttp简单应用.rar xmlhttp简单应用.rar xmlhttp简单应用.rar xmlhttp简单应用.rar

    C#网页内容抓取,利用xmlhttp和正则表达式

    介绍了如何将网页中自己想要的信息抓取过来,更进一步的得到内容,类似于网络蜘蛛

    xmlHttp中文参考手册

    xmlHttp中文参考手册,纯中文,为java后台程序员开发方便而上传

    e语言-Ajax XmlHttp对象参考手册

     现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象。 资源界面:资源下载:

    xmlhttp调用WebService

    通过xmlhttp这个对象调用webservice以实现asp与webservice的连接。

    XmlHttp手册XmlHttp手册

    XmlHttp手册XmlHttp手册XmlHttp手册XmlHttp手册XmlHttp手册

Global site tag (gtag.js) - Google Analytics