Javascript编程小结(2 XML对象)
2007-01-17 17:30
423 查看
xml对象
nodeType
nodeType | Represents |
1 | Element: an HTML tag |
2 | Text: text in a document |
8 | Comment: an HTML comment |
9 | Document: the HTML document |
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); |
async 属性 | |||
作 用 | async 属性表示是否允许异步的下载。 | ||
基本语法 | boolValue = XMLDocument.async;XMLDocument.async = boolValue; | ||
说 明 | 布尔值是可擦写的(read/write),如果准许异步下载,值为True;反之则为False。 | ||
范 例 | xmlDoc.async = "false"; alert(xmlDoc.async); |
attribute 属性 | |||
作 用 | 传回目前节点的属性列表。 | ||
基本语法 | objAttributeList = xmlNode.attributes; | ||
说 明 | 传回一个物件。如果此节点不能包含属性,则传回空值。 | ||
范 例 | objAttList = xmlDoc.documentElement.attributes; alert(objAttList); |
childNodes 属性 | |||
作 用 | 传回一个节点清单,包含该节点所有可用的子节点。 | ||
基本语法 | objNodeList=node.childNodes; | ||
说 明 | 传回一个物件。假如这节点没有子节点,传回null。 | ||
范 例 | objNodeList = xmlDoc.childNodes; alert(objNodeList); |
doctype 属性 | |||
作 用 | 传回文件型态节点,包含目前文件的DTD。这节点是一般的文件型态宣告,例如,节点,名为EMAIL 的节点物件会被传回。 | ||
基本语法 | objDocType=xmlDocument.doctype; | ||
说 明 | 传回一个对象,这个属性是只读的。假如这文件不包含DTD,会传回null。 | ||
范 例 | objDocType = xmlDoc.doctype; alert(objDocType.nodeName); |
documentElement 属性 | |||
作 用 | 确认XML 文件的根(Root)节点。 | ||
基本语法 | objDoc=xmlDocument.documentElement; | ||
说 明 | 回一个在单一根文件元素中包含数据的对象。此属性可读/写,如果文件中不包含根节点,将传回null。 | ||
范 例 | objDocRoot = xmlDoc.documentElement; alert(objDocRoot); |
firstChild 属性 | |||
作 用 | 确认在目前节点中的第一个子元素。 | ||
基本语法 | objFirstChild = xmlDocNode.firstChild ; | ||
说 明 | 此属性只读且会传回一对象,如果节点中没有包含第一个子元素,将传回null。 | ||
范 例 | objFirstChild = xmlDoc.documentElement.firstChild; alert(objFirstChild); |
implementation 属性 | |||
作 用 | DOM 应用程序能使用其它实作中的对象。implementation 属性确认目前XML 文件的DOMimplementation 对象。 | ||
基本语法 | objImplementation = xmlDocument.implementation; | ||
说 明 | 此属性只读且传回一个对象。 | ||
范 例 | objImp = xmlDoc.implementation; alert(objImp); |
lastChild 属性 | |||
作 用 | 确认目前节点中最后的子元素。 | ||
基本语法 | objLastChild = xmlDocNode.lastChild; | ||
说 明 | 此属性只读且传回一个对象。如果节点中没有包含最后子元素,将传回null。 | ||
范 例 | objLastChild = xmlDoc.documentElement.lastChild; alert(objLastChild); |
nextSibling 属性 | |||
作 用 | 在目前文件节点的子节点列表中传回下一个兄弟节点。 | ||
基本语法 | objNextSibling = xmlDocNode.nextSibling; | ||
说 明 | 此属性是只读且传回一个对象。如果节点中没有包含其它的相关节点,会传回null。 | ||
范 例 | objSibling = xmlDoc.documentElement.childNodes.item(1) .nextSibling; alert(objSibling); |
nodeName 属性 | |||
作 用 | 传回代表目前节点名称的字符串。 | ||
基本语法 | strNodeName = xmlDocNode.nodeName ; | ||
说 明 | 传回一个字符串。这个属性是只读的,传回元素名称、属性或实体参照。 | ||
范 例 | strNodeName = xmlDoc.documentElement.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 TYPE 11-DOCUMENT FRAGMENT 12-NOTATION | ||
范 例 | numNodeType = xmlDoc.documentElement.nodeType; alert(numNodeType); |
nodeValue 属性 | |||
作 用 | 传回指定节点相关的文字。这并非一个元素中数据的值,而是与一个节点相关且未解析的文字,就像一个属性或者一个处理指令。 | ||
基本语法 | varNodeValue = xmlDocNode.nodeValue; | ||
说 明 | 传回的文字代表以节点的nodeType 属性为主的型态值。(请参考附录中的nodeType 属性。)因为节点型态可能是几种数据型态中的一种,传回值也因此有差异。传回null 的节点型态有:DOCUMENT、ELEMENT、DOCUMENT TYPE、DOCUMENT FRAGMENT、ENTITY、ENTITY REFERENCE,和NOTATION。此属性可擦写。 | ||
范 例 | varNodeValue = xmlDoc.documentElement.nodeValue; alert(varNodeValue); |
ondataavailable 属性 | |||
作 用 | 指定一个事件来处理ondataavailable 事件。 | ||
基本语法 | 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 = xmlDocumentNode.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.documentElement.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 = xmlDocumentNode.xml; | ||
说 明 | 此属性是只读的。 | ||
范 例 | xmlValue = xmlDoc.documentElement.xml; alert(xmlValue); |
abort 方法 | |||
作 用 | abort 方法取消一个进行中的异步下载 | ||
基本语法 | xmlDocument.abort(); | ||
说 明 | 如果这个方法在异步下载时被呼叫,所有的解析动作会停止,而且在内存中的文件会被释放。 | ||
范 例 | xmlDocument |
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 方法 | |||
作 用 | |||
基本语法 | 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); |
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("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 = 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("This is a comment"); 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 = "<GREETING><MESSAGE>Hello!</MESSAGE></GREETING>"; 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've replaced the BCC element."); 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 元素。此方法会传回一包含转换结果的字符串。 | ||
范 例 | var style = new ActiveXObject("Microsoft.XMLDOM"); style.load("LstA_49.xsl"); strTransform = xmlDoc.transformNode(style.documentElement); alert(strTransform); |
相关文章推荐
- Javascript编程小结(1通用对象)
- javascript把特定XML响应解析成一个对象
- C#温故而知新学习系列之XML编程—8-XMLSerializer类把XML文档反序列化为对象
- javascript 事件编程之事件(流,处理,对象,类型)
- javascript XMLHttpRequest对象全面剖析
- JavaScript创建对象的方式小结(4种方式)
- JavaScript创建对象的方式小结(4种方式)
- javascript创建createXmlHttpRequest对象示例代码
- C#温故而知新学习系列之XML编程—5-XmlSerializer类把对象序列化为XML文档
- javascript对象小结
- javascript 编程调试方法小结
- C#编程之XML文件对象增删改操作
- [Javascript]XMLHttpRequest对象实现下载进度条
- 每天一篇javascript学习小结(Date对象)
- Javascript和XMLHttpRequest对象
- JavaScript之浏览器对象编程练习
- <<JavaScript编程全解>>阅读笔记之变量与对象
- 【技术】javascript XMLHttpRequest对象全面剖析
- javascript xmlhttp 对象应用
- Javascript基础与面向对象基础~第一讲 啥叫编程,啥叫程序员