XML DOM Thêm nút
Thêm một nút -appendChild()
Phương thứcappendChild () thêm một nút con vào nút hiện có.
Nút mới được thêm (nối thêm) sau bất kỳ nút con hiện có nào.
Lưu ý: Sử dụng InsertBefore() nếu vị trí của nút 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:
Ví dụ
newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Hãy tự mình thử »Ví dụ 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 một giá trị:
Ví dụ
newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Hãy tự mình thử »Ví dụ 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 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 vào 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:
Ví dụ
newNode = xmlDoc.createElement("book");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);
Hãy tự mình thử »Ví dụ 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, nút mới sẽ được thêm vào sau nút con hiện có cuối cùng.
x.insertBefore(newNode,null) và x.appendChild(newNode) đều sẽ nối thêm một nút con mới vào x.
Thêm thuộc tính mới
Phương thức setAttribution() đặt giá trị của một thuộc tính.
Ví dụ 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 Attribution()
setAttribution() sẽ tạo 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 setAttribution() sẽ ghi đè 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ừ số 0)
- string - Chuỗi cần chèn
Đoạn mã sau sẽ thêm "Dễ dàng" vào nút văn bản của phần tử <title> đầu tiên của XML được tải:
Ví dụ
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");
Hãy tự mình thử »