最新的Web開發教程
 

XML DOM添加節點


試一試 - 示例

下面的例子使用XML文件的Books.xml

添加一個節點的最後一個子節點之後
本例使用appendChild()一個子節點添加到現有的節點。

指定的子節點之前添加一個節點
本例使用insertBefore()指定的子節點之前插入一個節點。

添加一個新的屬性
本例使用setAttribute()方法來添加一個新的屬性。

將數據添加到文本節點
本例使用insertData()將數據插入到現有的文本節點。

×


添加一個節點- appendChild()

所述appendChild()方法增加了一個子節點到現有節點。

新節點添加(appended)任何現有的子節點之後。

Note:使用insertBefore()如果節點的位置是重要的。

這段代碼創建了一個元素(<edition>)和第一的最後一個孩子後,將其添加<book>元素:

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
試一試»

例子解釋:

  1. 假設“ 的books.xml ”載入到xmlDoc中
  2. 創建一個新節點<edition>
  3. 追加節點到第<book>元素

此代碼片段確實與上述相同,但新的元素添加一個值:

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
試一試»

例子解釋:

  1. 假設“ 的books.xml ”載入到xmlDoc中
  2. 創建一個新節點<edition>
  3. 創建一個新的文本節點"first"
  4. 追加文本節點到<edition>節點
  5. 追加<addition>節點到<book>元素

插入一個節點- insertBefore()

insertBefore()方法插入指定的子節點之前的節點。

當所添加的節點的位置是很重要的這種方法是有用的:

newNode = xmlDoc.createElement("book");

x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y);
試一試»

例子解釋:

  1. 假設“ 的books.xml ”載入到xmlDoc中
  2. 創建一個新的元素節點<book>
  3. 插入新的節點,在過去的前<book>元素節點

如果第二個參數insertBefore()為null,則新節點將最後一個現有的子節點之後添加。

x.insertBefore(newNode,null)和x.appendChild(newNode)都將追加一個新的子節點為x。


添加新屬性

setAttribute()方法設置屬性的值。

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
試一試»

例子解釋:

  1. 假設“ 的books.xml ”已經加載到xmlDoc中
  2. 該屬性的值設置為"edition" ,以"first"為先<book>元素

有沒有一種方法稱為附加Attribute()
setAttribute()將創建一個新的屬性,如果屬性不存在。

Note:如果屬性已存在,則setAttribute()方法將覆蓋現有的值。


添加文本到文本節點- insertData()

insertData()方法將數據插入已有的文本節點。

insertData()方法有兩個參數:

  • offset -在何處開始插入字符(starts at zero)
  • 字符串 - 要插入的字符串

下面的代碼片段將增加"Easy"到第一個的文本節點<title>加載的XML元素:

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");
試一試»