Tạo nút XML DOM

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ụ:

  1. Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
  2. Tạo một phần tử nút mới <edition>
  3. Chèn phần tử nút này vào phần tử <book> đầu tiên

TIY

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ụ:

  1. Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
  2. Tạo một nút thuộc tính mới "edition"
  3. Thêm nút thuộc tính mới này vào phần tử <title> đầu tiên

TIY

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ụ:

  1. Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
  2. Đặt (tạo) thuộc tính với giá trị "first" cho phần tử <book> đầu tiên

TIY

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ụ:

  1. Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
  2. Tạo một phần tử nút mới <edition>
  3. Tạo một phần tử văn bản mới có văn bản là "first"
  4. Chèn một phần tử văn bản mới vào phần tử nút này
  5. Chèn phần tử nút mới vào phần tử <book> đầu tiên

TIY

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ụ:

  1. Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
  2. Tạo một phần tử CDATA mới
  3. Chuyển tiếp phần tử CDATA mới này vào phần tử <book> đầu tiên

TIY

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ụ:

  1. Bằng cách sử dụng loadXMLDoc() Chuyển "books.xml"Charger xmlDoc"
  2. Tạo một nút comment mới
  3. Chuyển tiếp nút comment mới này vào phần tử <book> đầu tiên

TIY

Vòng lặp và thêm một nút comment cho tất cả các phần tử <book>:TIY