XML知识整理.docx
《XML知识整理.docx》由会员分享,可在线阅读,更多相关《XML知识整理.docx(36页珍藏版)》请在冰点文库上搜索。
![XML知识整理.docx](https://file1.bingdoc.com/fileroot1/2023-5/24/3e095726-a013-498c-87cc-1f06d0bf112b/3e095726-a013-498c-87cc-1f06d0bf112b1.gif)
XML知识整理
XML知识整理
Document方法
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);
语法说明
data是一个字符串,且包含了被置放在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(tagname);
语法说明
tagname是一个字符串,代表找到的元素卷标名称。
使用tagname"*"传回文件中所有找到的元素。
使用范例
objNodeList=xmlDoc.getElementsByTagName("*");
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文字码的字符串。
这个字符串可以包含整个文件或者只是一个文件片断。
如果文件加载成功,传回值为true。
假如加载失败,传回值则是false。
使用范例
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);
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);
Document事件
ondataavailable
事件说明
该事件会在XML文件有效时被触发。
基本语法
该事件有下面三种处理方式
.Inline:
;
.Eventproperty:
object.ondataavailable=handler;
.Namedscript:
;
语法说明
ondataavailable事件只要一获得有效的数据就会被触发。
这项技术并未说明在这个文件中有多少数据是有效的。
使用范例
xmlDoc.ondataavailable=alert("Dataisnowavailable.");
onreadystatechange
事件说明
这个事件会在readyState属性内容改变时被触发。
基本语法
此一事件有如下三种处理方式(与ondataavailable相似):
. Inline:
;
. Event property:
object.onreadystatechange = handler;
. Named script: