Thêm nút XML DOM
- Trang trước DOM tạo nút
- Trang tiếp theo DOM sao chép nút
Mô hình
Ví dụ dưới đây sử dụng tệp XML books.xml。
Hàm loadXMLDoc()Nằm ở phần JavaScript bên ngoài, được sử dụng để tải tệp XML.
- thêm một phần tử sau phần tử con cuối cùng
- ví dụ này sử dụng phương thức appendChild() để thêm một phần tử con vào một phần tử đã có.
- thêm một phần tử trước một phần tử con đã chỉ định
- ví dụ này sử dụng phương thức insertBefore() để chèn một phần tử trước một phần tử con đã chỉ định.
- thêm một thuộc tính mới
- ví dụ này sử dụng phương thức setAttribute() để thêm một thuộc tính mới.
- thêm dữ liệu vào phần tử văn bản
- ví dụ này sử dụng phương thức insertData() để chèn dữ liệu vào một phần tử văn bản đã có.
thêm phần tử - appendChild()
phương thức appendChild() thêm phần tử con vào phần tử đã có.
phần tử mới sẽ được thêm (thêm vào) sau bất kỳ phần tử con đã có nào.
Ghi chú:nếu vị trí của phần tử rất quan trọng, hãy sử dụng phương thức insertBefore().
mã nguồn sau đây tạo một phần tử (thuộc tính <edition>) và thêm nó vào phần tử con cuối cùng của phần tử <book> đầu tiên:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Mô tả ví dụ:
- Bằng cách sử dụng loadXMLDoc() Đặt "books.xml" vào xmlDoc
- tạo một phần tử mới <edition>
- thêm phần tử này vào phần tử <book> đầu tiên
vòng lặp và thêm một phần tử vào tất cả các phần tử <book>:TIY
chèn phần tử - insertBefore()
phương thức insertBefore() được sử dụng để chèn phần tử trước phần tử con đã chỉ định.
phương pháp này rất hữu ích khi vị trí của phần tử được thêm vào rất quan trọng.
xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Mô tả ví dụ:
- Bằng cách sử dụng loadXMLDoc() Đặt "books.xml" vào xmlDoc
- tạo một phần tử元素 mới <book>
- chèn phần tử này trước phần tử元素 <book> cuối cùng
nếu tham số thứ hai của phương thức insertBefore() là null, phần tử mới sẽ được thêm sau phần tử con cuối cùng đã có.
x.insertBefore(newNode,null) và x.appendChild(newNode) đều có thể thêm một phần tử con mới vào x.
thêm thuộc tính mới
phương thức addAtribute() này không tồn tại.
Nếu thuộc tính không tồn tại, phương thức setAttribute() có thể tạo một thuộc tính mới:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Mô tả ví dụ:
- Bằng cách sử dụng loadXMLDoc() Đặt "books.xml" vào xmlDoc
- Đặt giá trị thuộc tính "edition" của phần tử đầu tiên <book> là (tạo) "first"
Ghi chú:Nếu thuộc tính đã tồn tại, phương thức setAttribute() 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() sẽ chèn dữ liệu vào nút văn bản hiện có.
Phương thức insertData() có hai tham số:
- offset - vị trí bắt đầu chèn ký tự (bắt đầu từ 0)
- string - chuỗi cần chèn
Mã đoạn sau sẽ thêm "Easy" vào văn bản của phần tử đầu tiên <title> trong XML đã tải:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.insertData(0,"Hello ");
- Trang trước DOM tạo nút
- Trang tiếp theo DOM sao chép nút