Tạo nút XML DOM
- Trang trước DOM thay thế nút
- Trang tiếp theo DOM thêm nút
Mô hình
Ví dụ dưới đây sử dụng tệp XML books.xml.
Hàm loadXMLDoc()nằm ở exterior JavaScript, được sử dụng để tải tệp XML.
- Tạo nút phần tử
- Ví dụ này sử dụng createElement() để tạo một nút phần tử mới và sử dụng appendChild() để thêm nó vào một nút.
- Tạo thuộc tính节点 bằng cách sử dụng createAttribute
- Ví dụ này sử dụng createAttribute() để tạo một nút thuộc tính mới và sử dụng setAttributeNode() để chèn nút này vào phần tử.
- Tạo thuộc tính节点 bằng cách sử dụng setAttribute
- Ví dụ này sử dụng setAttribute() để tạo một thuộc tính mới cho một phần tử.
- Tạo phần tử văn bản
- Ví dụ này sử dụng createTextNode() để tạo một nút văn bản mới và sử dụng appendChild() để thêm nút văn bản này vào phần tử.
- Tạo một nút section CDATA
- Ví dụ này sử dụng createCDATAsection() để tạo nút section CDATA và sử dụng appendChild() để thêm nó vào phần tử.
- Tạo nút comment
- Ví dụ này sử dụng createComment() để tạo một nút comment và sử dụng appendChild() để thêm nó vào một phần tử.
Tạo phần tử nút mới
Phương thức createElement() tạo một phần tử nút mới:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Giải thích ví dụ:
- Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
- Tạo một phần tử nút mới <edition>
- Chèn phần tử nút này vào phần tử <book> đầu tiên
Duyệt qua và thêm một phần tử vào tất cả các phần tử <book>:TIY
Tạo nút thuộc tính mới
createAttribute() được sử dụng để tạo một nút thuộc tính mới:
xmlDoc=loadXMLDoc("books.xml"); newatt=xmlDoc.createAttribute("edition"); newatt.nodeValue="first"; x=xmlDoc.getElementsByTagName("title"); x[0].setAttributeNode(newatt);
Giải thích ví dụ:
- Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
- Tạo một nút thuộc tính mới "edition"
- Thêm nút thuộc tính mới này vào phần tử <title> đầu tiên
Duyệt qua tất cả các phần tử <title> và thêm một nút thuộc tính mới:TIY
Chú thích: Nếu thuộc tính đã tồn tại, nó sẽ bị thuộc tính mới thay thế.
Tạo thuộc tính bằng cách sử dụng setAttribute()
Do phương thức setAttribute() có thể tạo thuộc tính mới khi thuộc tính không tồn tại, chúng ta có thể sử dụng phương thức này để tạo thuộc tính mới.
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Giải thích ví dụ:
- Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
- Đặt (tạo) thuộc tính với giá trị "first" cho phần tử <book> đầu tiên
Duyệt qua tất cả các phần tử <title> và thêm một thuộc tính mới:TIY
Tạo phần tử văn bản
Phương thức createTextNode() tạo một phần tử văn bản mới:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); newtext=xmlDoc.createTextNode("first"); newel.appendChild(newtext); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Giải thích ví dụ:
- Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
- Tạo một phần tử nút mới <edition>
- Tạo một phần tử văn bản mới có văn bản là "first"
- Chèn một phần tử văn bản mới vào phần tử nút này
- Chèn phần tử nút mới vào phần tử <book> đầu tiên
Thêm một phần tử nút có nút văn bản vào tất cả các phần tử <book>:TIY
Tạo một phần tử CDATA Section
Phương thức createCDATASection() tạo một phần tử CDATA section mới.
xmlDoc=loadXMLDoc("books.xml"); newCDATA=xmlDoc.createCDATASection("Special Offer & Book Sale"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newCDATA);
Giải thích ví dụ:
- Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
- Tạo một phần tử CDATA mới
- Chuyển tiếp phần tử CDATA mới này vào phần tử <book> đầu tiên
Duyệt qua và thêm một phần tử CDATA cho tất cả các phần tử <book>:TIY
Tạo nút comment
Phương thức createComment() tạo một nút comment mới.
xmlDoc=loadXMLDoc("books.xml"); newComment=xmlDoc.createComment("Revised March 2008"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newComment);
Giải thích ví dụ:
- Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
- Tạo một nút comment mới
- Chuyển tiếp nút comment mới này vào phần tử <book> đầu tiên
Vòng lặp và thêm một nút comment cho tất cả các phần tử <book>:TIY
- Trang trước DOM thay thế nút
- Trang tiếp theo DOM thêm nút