DOM 创建节点

  • 定义和使用

    createElement() 方法创建一个新的元素节点:
    newElement = xmlDoc.createElement("edition");
    
    xmlDoc.getElementsByTagName("book")[0].appendChild(newElement);
    尝试一下
    示例说明:
    • 假设 books.xml 已加载到 xmlDoc 中。
    • 创建一个新的元素节点<edition>
    • 将元素节点附加到第一个<book>元素
    遍历并将元素添加到所有<book>元素:自己尝试一下
  • 创建一个新的属性节点

    createAttribute() 用于创建新的属性节点:
    newAtt = xmlDoc.createAttribute("edition");
    newAtt.nodeValue = "first";
    
    xmlDoc.getElementsByTagName("title")[0].setAttributeNode(newAtt);
    尝试一下
    示例说明:
    • 假设 books.xml 已加载到 xmlDoc 中。
    • 创建一个新的属性节点 “edition”
    • 将属性节点的值设置为 “first”
    • 将新的属性节点添加到第一个<title>元素
    遍历所有<title>元素并添加一个新的属性节点:自己尝试一下
    如果该属性已经存在,则将其替换为新属性。
  • 使用setAttribute()创建一个属性

    由于 setAttribute() 方法在属性不存在时会创建新属性,因此可以使用它来创建新属性。
    xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
    尝试一下
    示例说明:
    • 假设 books.xml 已加载到 xmlDoc 中。
    • 将第一个<book>元素的属性 “edition” 值设置为 “first”
    遍历所有<title>元素并添加一个新属性:自己尝试一下
  • 创建一个文本节点

    由于 createTextNode() 方法创建一个新的文本节点:
    newEle = xmlDoc.createElement("edition");
    newText = xmlDoc.createTextNode("first");
    newEle.appendChild(newText);
    
    xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
    尝试一下
    示例说明:
    • 假设 books.xml 已加载到 xmlDoc 中。
    • 创建一个新的元素节点<edition>
    • 用文本“first”创建一个新的文本节点
    • 将新的文本节点追加到元素节点
    • 将新元素节点附加到第一个<book>元素
    将元素节点和文本节点添加到所有<book>元素:自己尝试一下
  • 创建一个CDATA节点

    createCDATASection() 方法创建一个新的 CDATA 节点。
    newCDATA = xmlDoc.createCDATASection("Special Offer & Book Sale");
    
    xmlDoc.getElementsByTagName("book")[0].appendChild(newCDATA);
    尝试一下
    示例说明:
    • 假设 books.xml 已加载到 xmlDoc 中。
    • 创建一个新的CDATA节点
    • 将新的CDATA节点附加到第一个<book>元素
    遍历所有<book>元素,并添加一个CDATA节:自己尝试一下
  • 创建一个注释节点

    createComment() 方法创建一个新的注释节点。
    newComment = xmlDoc.createComment("Revised March 2015");
    xmlDoc.getElementsByTagName("book")[0].appendChild(newComment);
    尝试一下
    示例说明:
    • 假设 books.xml 已加载到 xmlDoc 中。
    • 创建一个新的注释节点
    • 将新的注释节点附加到第一个<book>元素
    遍历所有<book>元素并添加注释节点:自己尝试一下