Nút thêm DOM XML
Hãy tự mình thử - Ví dụ
Các ví dụ dưới đây sử dụng tệp XML books.xml .
Ví dụ này sử dụng appendChild () để thêm một nút con vào một nút hiện có.
Ví dụ này sử dụng insertBefore () để chèn một nút trước một nút con được chỉ định.
Ví dụ này sử dụng phương thức setAttribute () để thêm một thuộc tính mới.
Ví dụ này sử dụng insertData () để chèn dữ liệu vào nút văn bản hiện có.
Thêm nút - appendChild ()
Phương thức appendChild () thêm một nút con vào một nút hiện có.
Nút mới được thêm (nối thêm) sau bất kỳ nút con nào hiện có.
Lưu ý: Sử dụng insertBefore () nếu vị trí của nút là quan trọng.
Đoạn mã này tạo một phần tử (<edition>) và thêm nó vào sau phần tử con cuối cùng của phần tử <book> đầu tiên:
Thí dụ
newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Ví dụ được giải thích:
- Giả sử " books.xml " được tải vào xmlDoc
- Tạo một nút mới <edition>
- Nối nút vào phần tử <book> đầu tiên
Đoạn mã này thực hiện tương tự như trên, nhưng phần tử mới được thêm vào với một giá trị:
Thí dụ
newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Ví dụ được giải thích:
- Giả sử " books.xml " được tải vào xmlDoc
- Tạo một nút mới <edition>
- Tạo một nút văn bản mới "đầu tiên"
- Nối nút văn bản vào nút <edition>
- Nối nút <addition> vào phần tử <book>
Chèn một nút - insertBefore ()
Phương thức insertBefore () chèn một nút trước một nút con được chỉ định.
Phương pháp này hữu ích khi vị trí của nút được thêm vào là quan trọng:
Thí dụ
newNode = xmlDoc.createElement("book");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);
Ví dụ được giải thích:
- Giả sử " books.xml " được tải vào xmlDoc
- Tạo một nút phần tử mới <book>
- Chèn nút mới vào trước nút phần tử <book> cuối cùng
Nếu tham số thứ hai của insertBefore () là null, thì nút mới sẽ được thêm vào sau nút con cuối cùng hiện có.
x.insertBefore (newNode, null) và x.appendChild (newNode) đều sẽ thêm một nút con mới vào x.
Thêm một thuộc tính mới
Phương thức setAttribute () đặt giá trị của một thuộc tính.
Thí dụ
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Ví dụ được giải thích:
- Giả sử " books.xml " đã được tải vào xmlDoc
- Đặt giá trị của thuộc tính "edition" thành "first" cho phần tử <book> đầu tiên
Không có phương thức nào được gọi là add Attribute ()
SetAttribute () sẽ tạo một thuộc tính mới nếu thuộc tính đó không tồn tại.
Lưu ý: Nếu thuộc tính đã tồn tại, phương thức setAttribute () sẽ ghi đè lên giá trị hiện có.
Thêm văn bản vào nút văn bản - insertData ()
Phương thức insertData () chèn dữ liệu vào một nút văn bản hiện có.
Phương thức insertData () có hai tham số:
- offset - Nơi bắt đầu chèn ký tự (bắt đầu từ 0)
- string - Chuỗi để chèn
Đoạn mã sau sẽ thêm "Easy" vào nút văn bản của phần tử <title> đầu tiên của XML được tải:
Thí dụ
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");