xmldom属性与方法详解.docx
《xmldom属性与方法详解.docx》由会员分享,可在线阅读,更多相关《xmldom属性与方法详解.docx(19页珍藏版)》请在冰点文库上搜索。
xmldom属性与方法详解
abort方法
作 用
abort方法取消一个进行中的异步下载
基本语法
xmlDocument.abort();
说 明
如果这个方法在异步下载时被呼叫,所有的解析动作会停止,而且在内存中的文件会被释放。
范 例
xmlDocument.abort();
AppendChild方法
作 用
加上一个节点当作指定节点最后的子节点。
基本语法
xmlDocumentNode.appendChild(newChild);
说 明
newChild是附加子节点的地址。
范 例
docObj=xmlDoc.documentElement;
alert(docObj.xml);
objNewNode=docObj.appendChild(xmlDoc.documentElement.firstChild);
alert(docObj.xml);
cloneNode方法
作 用
建立指定节点的复制。
基本语法
xmlDocumentNode.cloneNode(deep);
说 明
deep是一个布尔值。
如果为true,此节点会复制以指定节点发展出去的所有节点。
如果是false,只有指定的节点和它的属性被复制。
范 例
currNode=xmlDoc.documentElement.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("ThisisaCDATASection");
alert(objNewCDATA.xml);
createComment方法
作 用
建立一个包含指定数据的批注。
基本语法
xmlDocument.createComment(data);
说 明
data是一个字符串,且包含了被置放在批注的资料。
范 例
objNewComment=xmlDoc.createComment("Thisisacomment");
alert(objNewComment.xml);
createDocumentFragment方法
作 用
建立一个空的文件片断对象。
基本语法
xmlDocument.createDocumentFragment();
说 明
一个新的文件片断被建立,但没有加到文件树中。
要加入片断到文件树中,必须使用插入方法,例如insertBefore、replaceChild或appendChild。
范 例
objNewFragment=xmlDoc.createDocumentFragment();
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("Thisisatextnode.");
alert(objNewTextNode.xml);
getElementsByTagName方法
作 用
传回指定名称的元素集合。
基本语法
objNodeList=xmlDocument.getElementsByTagName_r(tagname);
说 明
tagname是一个字符串,代表找到的元素卷标名称。
使用tagname"*"传回文件中所有找到的元素。
范 例
objNodeList=xmlDoc.getElementsByTagName_r("*");
alert(objNodeList.item
(1).xml);
haschildnodes方法
作 用
如果指定的节点有一个或更多子节点,传回值为true。
基本语法
boolValue=xmlDocumentNode.hasChildNodes();
说 明
如果此节点有子节点传回值为true,否则传回false值。
范 例
boolValue=xmlDoc.documentElement.hasChildNodes();
alert(boolValue);
insertBefore方法
作 用
在指定的节点前插入一个子节点。
基本语法
objDocumentNode=xmlDocumentNode.insertBefore(newChild,refChild);
说 明
newChild是一个包含新子节点地址的对象,refChild是参照节点的地址。
新子节点被插到参照节点之前。
如果refChild参数没有包含在内,新的子节点会被插到子节点列表的末端。
范 例
objRefNode=xmlDoc.documentElement;
alert(xmlDoc.xml);
objNewNode=xmlDoc.createComment("Thisisacomment");
xmlDoc.insertBefore(objNewNode,objRefNode);
alert(xmlDoc.xml);
load方法
作 用
表示从指定位置加载的文件。
基本语法
boolValue=xmlDocument.load(url);
说 明
url包含要被加载档案的URL的字符串。
假如文件加载成功,传回值即为true。
若加载失败,传回值为false。
范 例
boolValue=xmlDoc.load("LstA_1.xml");
alert(boolValue);
loadXML方法
作 用
加载一个XML文件或字符串的片断。
基本语法
boolValue=xmlDocument.loadXML(xmlString);
说 明
xmlString是包含XML文字码的字符串。
范 例
xmlString="Hello!
";
boolValue=xmlDoc.loadXML(xmlString);
alert(boolValue);
nodeFromID方法
作 用
传回节点ID符合指定值的节点。
基本语法
xmlDocumentNode=xmlDocument.nodeFromID(idString);
说 明
idString是一个包含ID值的字符串。
符合的节点必定是ID型态。
若符合,将传回一个对象;若操作失败,则传回null。
范 例
objDocumentNode=xmlDoc.nodeFromID("TO");
alert(objDocumentNode);
parsed方法
作 用
会验证该指定的节点(node)及其衍生的子节点(descendants)是否已被解析过。
基本语法
boolValue=xmlDocumentNode.parsed();
说 明
如果全部的节点都已经被解析过了,则传回值为ture;如果有任何一个节点尚未被解析,传回值则为false。
范 例
currNode=xmlDoc.documentElement.childNodes.item(0);
boolValue=currNode.parsed();
alert(boolValue);
removeChild方法
作 用
会将指定的节点从节点清单中移除。
基本语法
objDocumentNode=xmlDocumentNode.removeChild(oldChild);
说 明
oldChild为一个包含要被移除的节点对象。
范 例
objRemoveNode=xmlDoc.documentElement.childNodes.item(3);
alert(xmlDoc.xml);
xmlDoc.documentElement.removeChild(objRemoveNode);
alert(xmlDoc.xml);
replaceChild方法
作 用
置换指定的旧子节点为提供的新子节点。
基本语法
objDocumentNode=xmlDocumentNode.replaceChild(newChild,oldChild);
说 明
newChild为包含新子节点的对象。
如果此参数为null,则此旧子节点会被移除而不会被取代。
oldChild为包含旧子节点的对象。
范 例
objOldNode=xmlDoc.documentElement.childNodes.item(3);
objNewNode=xmlDoc.createComment("I'vereplacedtheBCCelement.");
alert(xmlDoc.xml);
xmlDoc.documentElement.replaceChild(objNewNode,objOldNode);
alert(xmlDoc.xml);
nodeFromID方法
作 用
传回节点ID符合指定值的节点。
基本语法
xmlDocumentNode=xmlDocument.nodeFromID(idString);
说 明
idString是一个包含ID值的字符串。
符合的节点必定是ID型态。
若符合,将传回一个对象;若操作失败,则传回null。
范 例
objDocumentNode=xmlDoc.nodeFromID("TO");
alert(objDocumentNode);
selectNodes方法
作 用
传回所有符合提供样式(pattern)的节点。
基本语法
objDocumentNodeList=xmlDocumentNode.selectNodes(patternString);
说 明
patternString为一包含XSL样式的字符串。
此方法会传回节点清单对象,包含符合样式的节点。
如果没有符合的节点,则传回空的清单列表。
范 例
objNodeList=xmlDoc.selectNodes("/");
alert(objNodeList.item(0).xml);
selectSingleNode传回第一个符合样式的节点
作 用
传回第一个符合样式的节点。
基本语法
objDocumentNode=xmlDocumentNode.selectSingleNode(patternString);
说 明
patternString为一包含XSL样式的字符串。
此方法会传回第一个符合的节点对象,如果没有符合的节点,则传回null。
范 例
objNode=xmlDoc.selectSingleNode("EMAIL/BCC");
alert(objNode.xml);
transformNode方法
作 用
使用提供的样式表来处理该节点及其子节点。
基本语法
strTransformedDocument=xmlDocumentNode.transformNode(stylesheet);
说 明
stylesheet为一XML文件或是片断包含负责节点转换工作的XSL元素。
此方法会传回一包含转换结果的字符串。
范 例
varstyle=newActiveXObject("Microsoft.XMLDOM");
style.load("LstA_49.xsl");
strTransform=xmlDoc.transformNode(style.documentElement);
alert(strTransform);
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。
这节点是一般的文件型态宣告,
例如,节点
DOCTYPEEMAILSYSTEM"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-ENTITYREFERENCE
6-ENT