zoukankan      html  css  js  c++  java
  • xmlDom

    加载并解析xml文件:

    <script type="text/javascript">

    try //Internet Explorer

      {

      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");

      }

    catch(e)

      {

      try //Firefox, Mozilla, Opera, etc.

        {

        xmlDoc=document.implementation.createDocument("","",null);

        }

      catch(e) {alert(e.message)}

      }

    try

      {

      xmlDoc.async=false;

      xmlDoc.load("/example/xdom/books.xml");

      document.write("xmlDoc is loaded, ready for use");

      }

    catch(e) {alert(e.message)}

    </script>

    加载并解析xml字符串

    <script type="text/javascript">

    text="<bookstore>"

    text=text+"<book>";

    text=text+"<title>Harry Potter</title>";

    text=text+"<author>J K. Rowling</author>";

    text=text+"<year>2005</year>";

    text=text+"</book>";

    text=text+"</bookstore>";

    try //Internet Explorer

      {

      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");

      xmlDoc.async="false";

      xmlDoc.loadXML(text);

      }

    catch(e)

      {

      try //Firefox, Mozilla, Opera, etc.

        {

        parser=new DOMParser();

        xmlDoc=parser.parseFromString(text,"text/xml");

        }

      catch(e) {alert(e.message)}

      }

    try

      {

      document.write("xmlDoc 已加载,可以使用。");

      }

    catch(e) {alert(e.message)}

    </script>

    微软的 XML 解析器内建于 Internet Explorer 5 及更高版本中。

    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");

    xmlDoc.async="false";

    xmlDoc.load("books.xml");

    在 Firefox 及其他浏览器中的 XML 解析器xmlDoc=document.implementation.createDocument("","",null);

    xmlDoc.async="false";

    xmlDoc.load("books.xml")

    XML DOM 属性

    典型的 DOM 属性:

    x.nodeName - x 的名称

    x.nodeValue - x 的值

    x.parentNode - x 的父节点

    x.childNodes - x 的子节点

    x.attributes - x 的属性节点

      firstChild

      lastChild

      nextSibling

      previousSibling

    注释:在上面的列表中,x 是一个节点对象。

    XML DOM 方法

    x.getElementsByTagName(name) - 获取带有指定标签名称的所有元素

    x.appendChild(node) - 向 x 插入子节点

    x.removeChild(node) - 从 x 删除子节点

    注释:在上面的列表中,x 是一个节点对象。

    节点集有length 属性。

    nodeType 属性获取节点类型

    nextSibling 属性节点的下一个兄弟节点

    在 XML 文档对象模型 (DOM) 中,每个节点都是一个对象。

    nodeName 属性

    nodeName 属性规定节点的名称。

    nodeName 是只读的

    元素节点的 nodeName 与标签名相同

    属性节点的 nodeName 是属性的名称

    文本节点的 nodeName 永远是 #text

    文档节点的 nodeName 永远是 #document

    nodeValue 属性

    nodeValue 属性规定节点的值。

    元素节点的 nodeValue 是 undefined

    文本节点的 nodeValue 是文本自身

    属性节点的 nodeValue 是属性的值

    nodeType 属性

    nodeType 属性规定节点的类型。

    nodeType 是只读的。

    最重要的节点类型是:

    元素1    属性 2     文本3    注释8   文档9

    所有现代浏览器都支持 W3C DOM 规范。不过,浏览器之间是有差异的。重要的区别有两点:

    加载 XML 的方式

    处理空白和换行的方式

    Firefox,以及其他一些浏览器,会把空的空白或换行作为文本节点来处理,而 Internet Explorer 不会这样。

    getAttribute() 方法返回属性的值。

    获取属性值 - getAttributeNode()

    nodeValue 属性用于改变节点值。

    setAttribute(“old”,”new”) 方法用于改变属性的值。

    removeChild(node) 方法删除指定节点。

    removeAttribute() 方法删除指定属性。

    removeAttributeNode(node) 方法通过使用 Node 对象作为参数,来删除属性节点。

    replaceChild() 方法替换指定节点。

    替换文本节点中的数据

    replaceData() 方法用于替换文本节点中的数据。

    replaceData() 方法有三个参数:

    offset - 在何处开始替换字符。Offset 值以 0 开始。

    length - 要替换多少字符

    string - 要插入的字符串

    创建新的元素节点

    createElement() 方法创建新的元素节点:

    创建新的属性节点

    createAttribute() 用于创建新的属性节点:

    通过使用 setAttribute() 来创建属性

    由于 setAttribute() 可以在属性不存在的情况下创建新的属性,可以使用这个方法来创建新属性。

    创建文本节点

    createTextNode() 方法创建新的文本节点:

    创建一个 CDATA Section 节点

    createCDATASection() 方法创建一个新的 CDATA section 节点。

    创建注释节点

    createComment() 方法创建一个新的注释节点。

    添加节点 - appendChild()

    appendChild() 方法向已存在的节点添加子节点。

    新节点会添加(追加)到任何已存在的子节点之后。

    注释:如果节点的位置很重要,请使用 insertBefore() 方法。

    插入节点 - insertBefore()

    insertBefore() 方法用于在指定的子节点之前插入节点。

    在被添加的节点的位置很重要时,此方法很有用。

    insertBefore() 的第二个参数是 null,新节点将添加到最后一个已有的子节点之后。

    添加新属性

    addAtribute() 这个方法是不存在的。

    如果属性不存在,则 setAttribute() 可创建一个新的属性:

    向文本节点添加文本 - insertData()

    insertData() 方法将数据插入已有的文本节点中。

    insertData() 方法有两个参数:

    offset - 在何处开始插入字符(以 0 开始)

    string - 要插入的字符串

    复制节点

    cloneNode() 方法创建指定节点的副本。

    cloneNode() 方法有一个参数(true 或 false)。该参数指示被复制的节点是否包括原节点的所有属性和子节点。

    XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。

    XMLHttpRequest 对象是开发者的梦想,因为您能够:

    在不重新加载页面的情况下更新网页

    在页面已加载后从服务器请求数据

    在页面已加载后从服务器接收数据

    在后台向服务器发送数据

    创建 XMLHttpRequest 对象

    通过一行简单的 JavaScript 代码,我们就可以创建 XMLHttpRequest 对象。

    在所有现代浏览器中(包括 IE 7):

    xmlhttp=new XMLHttpRequest()

    在 Internet Explorer 5 和 6 中:

    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

    该参数规定请求是否异步处理。

    True 表示脚本会在 send() 方法之后继续执行,而不等待来自服务器的响应。

  • 相关阅读:
    adoQuery对象池
    面向對象囈語
    TDataSetProvider 元件的設定
    Midas的三種調用遠程方法的方式
    線程池
    数据库连接池类
    remobject 簡介
    多層開發注重效率的注意點
    修改的一个导出DataSet到xls的单元
    Git 换行符检查 CRLF 与 LF
  • 原文地址:https://www.cnblogs.com/selfimprove/p/4586025.html
Copyright © 2011-2022 走看看