XML DOM 新增節點
新增節點 - appendChild()
appendChild() 方法將子節點新增到現有節點。
新節點將新增(追加)到任何現有子節點的後面。
注意: 如果節點位置很重要,請使用 insertBefore()。
此程式碼片段建立一個元素(<edition>),並將其新增到第一個 <book> 元素的最後一個子節點的後面
示例
newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
自己動手試一試 »
示例說明
- 假設 books.xml 已載入到 xmlDoc 中
- 建立一個新節點 <edition>
- 將節點追加到第一個 <book> 元素
此程式碼片段與上述操作相同,但新元素將帶有一個值
示例
newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
自己動手試一試 »
示例說明
- 假設 books.xml 已載入到 xmlDoc 中
- 建立一個新節點 <edition>
- 建立一個新的文字節點 "first"
- 將文字節點追加到 <edition> 節點
- 將 <addition> 節點追加到 <book> 元素
插入節點 - insertBefore()
insertBefore() 方法在一個指定的子節點之前插入一個節點。
當新增節點的位置很重要時,此方法很有用
示例
newNode = xmlDoc.createElement("book");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);
自己動手試一試 »
示例說明
- 假設 books.xml 已載入到 xmlDoc 中
- 建立一個新的元素節點 <book>
- 將新節點插入到最後一個 <book> 元素節點之前
如果 insertBefore() 的第二個引數為 null,新節點將新增到最後一個現有子節點之後。
x.insertBefore(newNode,null) 和 x.appendChild(newNode) 都將向 x 追加一個新子節點。
新增新屬性
setAttribute() 方法設定屬性的值。
示例說明
- 假設 books.xml 已載入到 xmlDoc 中
- 將第一個 <book> 元素的屬性 "edition" 的值設定為 "first"
沒有名為 addAttribute() 的方法
如果屬性不存在,setAttribute() 將建立一個新屬性。
注意: 如果屬性已存在,setAttribute() 方法將覆蓋現有值。
向文字節點新增文字 - insertData()
insertData() 方法將資料插入到現有文字節點中。
insertData() 方法有兩個引數
- offset - 開始插入字元的位置(從零開始)
- string - 要插入的字串
以下程式碼片段將“Easy”新增到已載入 XML 的第一個 <title> 元素的文字節點中