ajax技术基础XMLDOM对象的方法和属性

来源:互联网 发布:java 输出string 编辑:程序博客网 时间:2024/05/01 16:14

XMLDOM对象

一、对象事件:
1、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.');

2、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 );
xmlDoc.onreadystatechange=Function("info();");

二、对象属性
1、async 属性
作用:async 属性表示是否允许异步的下载。
基本语法:boolValue = XMLDocument.async;XMLDocument.async = boolValue;
说明:布尔值是可擦写的(read/write),如果准许异步下载,值为True;反之则为False。
范例:
xmlDoc.async = "false";
alert(xmlDoc.async);

2、attribute 属性
作用:传回目前节点的属性列表。
基本语法:objAttributeList = xmlNode.attributes;
说明:传回一个物件。如果此节点不能包含属性,则传回空值。
范例:
objAttList = xmlDoc.documentElement.attributes;
alert(objAttList);

3、childNodes 属性
作用:传回一个节点清单,包含该节点所有可用的子节点。
基本语法:objNodeList=node.childNodes;
说明:传回一个物件。假如这节点没有子节点,传回null。
范例:
objNodeList = xmlDoc.childNodes;
alert(objNodeList);

4、doctype 属性
作用:传回文件型态节点,包含目前文件的DTD。这节点是一般的文件型态宣告,例如,节点,名为EMAIL 的节点物件会被传回。
基本语法: objDocType=xmlDocument.doctype;
说明:传回一个对象,这个属性是只读的。假如这文件不包含DTD,会传回null。
范例:
objDocType = xmlDoc.doctype;
alert(objDocType.nodeName);

5、documentElement 属性
作用:确认XML 文件的根(Root)节点。
基本语法:objDoc=xmlDocument.documentElement;
说明:回一个在单一根文件元素中包含数据的对象。此属性可读/写,如果文件中不包含根节点,将传回null。
范例:
objDocRoot = xmlDoc.documentElement;
alert(objDocRoot);

6、firstChild 属性
作用:确认在目前节点中的第一个子元素。
基本语法:objFirstChild = xmlDocNode.firstChild ;
说明: 此属性只读且会传回一对象,如果节点中没有包含第一个子元素,将传回null。
范例:
objFirstChild = xmlDoc.documentElement.firstChild;
alert(objFirstChild);

7、implementation 属性
作用:DOM 应用程序能使用其它实作中的对象。implementation 属性确认目前XML 文件的DOMimplementation 对象。
基本语法:objImplementation = xmlDocument.implementation;
说明:此属性只读且传回一个对象。
范例:
objImp = xmlDoc.implementation;
alert(objImp);

8、lastChild 属性
作用:确认目前节点中最后的子元素。
基本语法:objLastChild = xmlDocNode.lastChild;
说明:此属性只读且传回一个对象。如果节点中没有包含最后子元素,将传回null。
范例:
objLastChild = xmlDoc.documentElement.lastChild;
alert(objLastChild);

9、nextSibling 属性
作用:在目前文件节点的子节点列表中传回下一个兄弟节点。
基本语法:objNextSibling = xmlDocNode.nextSibling;
说明:此属性是只读且传回一个对象。如果节点中没有包含其它的相关节点,会传回null。
范例:
objSibling = xmlDoc.documentElement.childNodes.item(1) .nextSibling;
alert(objSibling);

10、nodeName 属性
作用:传回代表目前节点名称的字符串。
基本语法:strNodeName = xmlDocNode.nodeName ;
说明:传回一个字符串。这个属性是只读的,传回元素名称、属性或实体参照。
范例:
strNodeName = xmlDoc.documentElement.nodeName;
alert(strNodeName);

11、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 TYPE
11-DOCUMENT FRAGMENT
12-NOTATION
范例 :
numNodeType = xmlDoc.documentElement.nodeType;
alert(numNodeType);

12、nodeValue 属性
作用:传回指定节点相关的文字。这并非一个元素中数据的值,而是与一个节点相关且未解析的文字,就像一个属性或者一个处理指令。
基本语法:varNodeValue = xmlDocNode.nodeValue;
说明:传回的文字代表以节点的nodeType 属性为主的型态值。(请参考附录中的nodeType 属性。)因为节点型态可能是几种数据型态中的一种,传回值也因此有差异。传回null 的节点型态有:DOCUMENT、ELEMENT、DOCUMENT TYPE、DOCUMENT FRAGMENT、ENTITY、ENTITY REFERENCE,和NOTATION。此属性可擦写。
范例:
varNodeValue = xmlDoc.documentElement.nodeValue;
alert(varNodeValue);

13、ondataavailable 属性
作用:指定一个事件来处理ondataavailable 事件。
基本语法:xmlDocNode.ondataavailable = value;
说明:此属性是唯写,允许文件作者一旦数据为可用,即可尽快的使用数据来运作。
范例:
xmlDoc.ondataavailable = alert("Data is now available.");

14、onreadystatechange 属性
作用:指定一个事件来处理onreadystatechange 事件。这个事件能辨识readyState 属性的改变。
基本语法:xmlDocNode.onreadystatechange = value;
说明:此属性是唯写的,允许文件作者指定当readyState 属性改变时呼叫事件。
范例:
xmlDoc.onreadystatechange = alert("The readyState property has changed.");

15、ownerDocument 属性
作用:传回文件的根节点,包含目前节点。
基本语法:objOwnerDoc = xmlDocument.ownerDocument;
说明:此属性是只读的,传回一个包含文件根节点的对象,包含特定的节点。
范例:
objOwnerDoc = xmlDoc.childNodes.item(2).ownerDocument;
alert(objOwnerDoc);

16、parentNode 属性
作用:传回目前节点的父节点。只能应用在有父节点的节点中。
基本语法:objParentNode = xmlDocumentNode.parentNode;
说明:此属性是只读的,传回包含指定节点的父节点对象。如果此节点不存在于文件树中,将传回null。
范例:
objParentNode = xmlDoc.childNodes.item(1).parentNode;
alert(objParentNode);

17、parseError 属性
作用:传回一个DOM 解析错误对象,此对象描述最后解析错误的讯息。
基本语法:objParseErr = xmlDocument.parseError;
说明:此属性是只读的。如果没有错误发生,将传回0。
范例:
objParseErr = xmlDoc.parseError;
alert(objParseErr);

18、previousSibling 属性
作用:传回目前节点之前的兄弟节点。
基本语法:objPrevSibling = xmlDocument.previousSibling;
说明:传回一个对象,这个属性是只读的。若该节点没有包含前面的兄弟节点,会传回null。
范例:
objPrevSibling = xmlDoc.documentElement.childNodes.item(3).previousSibling;
alert(objPrevSibling);

19、readyState 属性
作用:传回XML 文件资料的目前状况。
基本语法:intState = xmlDocument.readyState;
说明:这个属性是只读的,传回值有以下的可能:
0-UNINITIALIZED:XML 对象被产生,但没有任何文件被加载。
1-LOADING:加载程序进行中,但文件尚未开始解析。
2-LOADED:部分的文件已经加载且进行解析,但对象模型尚未生效。
3-INTERACTIVE:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。
4-COMPLETED:文件已完全加载,代表加载成功。
范例:
alert("The readyState property is " + xmlDoc.readyState);

20、url 属性
作用:传回最近一次加载XML 文件的URL。
基本语法:strDocUrl = xmlDocument.url;
说明:这个属性是只读的,传回最近一次加载成功文件的URL,若文件仅存在主存储器中(表示该文件并非由外部档案加载),则传回null。
范例:
alert(xmlDoc.url);

21、validateOnParse 属性
作用:告诉解析器文件是否有效。
基本语法:boolValidate = xmlDocument.validateOnParse; xmlDocument.validateOnParse = boolValidate;
说明:此属性是可擦写的。如果传回值为true,表示文件被解析时被确认是有效的。如果传回false,表示文件是无效的,并被认为只是标准格式的(well-formed)文件。
范例:
xmlDoc.validateOnParse = true;
alert(xmlDoc.validateOnParse);

22、xml 属性
作用:传回指定节点的XML 描述和所有的子节点。
基本语法:xmlValue = xmlDocumentNode.xml;
说明:此属性是只读的。
范例:
xmlValue = xmlDoc.documentElement.xml;
alert(xmlValue);