• XMLHTTP与XMLDOC使用介绍(下)


      接着写上一篇XMLDOC中的方法,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();
    说明:一个新的文件片断被建立,但没有加到文件树中。
    要加入片断到文件树中,必须使用插入方法,
    例如insertBefore、replaceChild 或 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 是一个区分大小写的字符串,来指定新实体参照的名称。
    一个新的实体参照被建立,但是并没有被加到文件树中。
    若要将实体参照 加到文件树中,必须使用一种插入方法,
    例如: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 = 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);   

  • 相关阅读:
    DOM对象和JQuery对象的区别
    处理android手机html5页面中,点击text文本框无法自动获取焦点的处理方法
    ORACLE之VBO-5530无法删除用户的解决办法
    当oracle clob类型不能和group by并用,但是需要去除多列重复
    Android 4主线程访问网络
    Android: How to get Address from geolocation using Geocoder
    解决乱码的最后方法
    tomcat启动时自动运行代码
    android 组件隐蔽显示状态
    android模拟器Genymotion 连接eclipse项目
  • 原文地址:https://www.cnblogs.com/repository/p/1362314.html
Copyright © 2020-2023  润新知