zoukankan      html  css  js  c++  java
  • XML DOM (Document Object Model) 定义了访问和操作 XML 文档的标准方法。

    XML DOM

    DOM 把 XML 文档视为一种树结构。通过这个 DOM 树,可以访问所有的元素。可以修改它们的内容(文本以及属性),而且可以创建新的元素。元素,以及它们的文本和属性,均被视为节点。

    在本教程的较早章节中,我们介绍了 XML DOM,并使用了 XML DOM 的 getElementsByTagName() 从 DOM 树中取回数据。

    在本节中,我们将讲解一些其他较常用的 XML DOM 方法。在本例中,我们使用 XML 文件 books.xml,并使用一个 JavaScript 函数把 XML 文件加载到名为 xmlDoc 的 DOM 对象中。

    如需学习更多有关 XML DOM 的知识,请访问我们的 XML DOM 教程。

    获取元素的值

    下面的代码检索第一个 <title> 元素的文本值:

    x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
    txt=x.nodeValue;

    结果:txt = "Harry Potter"

    亲自试一试

    获取属性的值

    下面的代码检索第一个 <title> 元素的 "lang" 属性的文本值:

    txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

    结果:txt = "en"

    亲自试一试

    改变元素的值

    下面的代码改变第一个 <title> 元素的文本值:

    x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
    x.nodeValue="Easy Cooking";

    亲自试一试

    改变属性的值

    setAttribute() 方法可用于改变已有属性的值,或创建一个新属性。

    下面的代码向每个 <book> 元素添加了名为 "edition" 的新属性(值是 "first"):

    x=xmlDoc.getElementsByTagName("book");
    
    for(i=0;i<x.length;i++)
      {
      x[i].setAttribute("edition","first");
      }
    

    亲自试一试

    创建元素

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

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

    appendChild() 方法向节点添加子节点(在最后一个子节点之后)。

    如需创建带有文本内容的新元素,需要同时创建元素节点和文本节点。

    下面的代码创建了一个元素 (<edition>),然后把它添加到第一个 <book> 元素中:

    newel=xmlDoc.createElement("edition");
    newtext=xmlDoc.createTextNode("First");
    newel.appendChild(newtext);
    
    x=xmlDoc.getElementsByTagName("book");
    x[0].appendChild(newel);

    例子解释:

    1. 创建 <edition> 元素
    2. 创建值为 "First" 的文本节点
    3. 把这个文本节点追加到 <edition> 元素
    4. 把 <edition> 元素追加到第一个 <book> 元素

    亲自试一试

    删除元素

    removeChild() 方法删除指定的节点(或元素)。

    下面的代码片段将删除第一个 <book> 元素中的第一个节点:

    x=xmlDoc.getElementsByTagName("book")[0];
    
    x.removeChild(x.childNodes[0]);

    亲自试一试

    注释:上例的结果可能会根据所用的浏览器而不同。Firefox 把新行字符当作空的文本节点,而 Internet Explorer 不是这样。您可以在 w3school 的 XML DOM 教程中阅读到更多有关这个问题以及如何避免它的知识。

    这里提供的 XML DOM 实例,只向您展示了少数几项我们可以利用 XML DOM 完成的工作。

  • 相关阅读:
    2014年去哪儿网笔试题--一个10*10的矩阵(可以理解为棋盘),随时生成一组数据填入矩阵,任何一个位置的数字除4进行计算,按余数着色...
    2014年去哪儿网笔试题--给定一个整型数组,对这个整型素组排序,使得按序拼接数组各元素得到的值最小。
    剑指Offer:面试题25
    字符串模式匹配KMP算法
    堆排序算法原理
    HashMap和HashTable 学习
    JAVA的IO学习
    输出图片的php代码前面不能有空白行
    PHP中最容易忘记的一些知识点总结
    PHP中cookie与session总结
  • 原文地址:https://www.cnblogs.com/furuihua/p/11383764.html
Copyright © 2011-2022 走看看