Thêm nút DOM XML

Thêm phần tử - appendChild()

appendChild() Phương pháp này sẽ thêm phần tử con vào phần tử hiện có.

Phần tử mới có thể được thêm (chèn) vào sau bất kỳ phần tử con nào hiện có.

Lưu ý:Nếu vị trí của phần tử rất quan trọng, hãy sử dụng insertBefore().

Mã đoạn sau 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ử đầu tiên <book>:

Ví dụ 1

newEle = xmlDoc.createElement("edition");
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

Thử ngay

Giải thích ví dụ:

  1. Giả sử books.xml đã được tải vào xmlDoc
  2. Tạo điểm con mới <edition>
  3. Chèn phần tử vào phần tử đầu tiên <book>

Mục đích của đoạn mã này tương tự như trên, nhưng phần tử mới thêm một giá trị:

Ví dụ 2

newEle = xmlDoc.createElement("edition");
newText = xmlDoc.createTextNode("第一版");
newEle.appendChild(newText);
xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);

Thử ngay

Giải thích ví dụ:

  1. Giả sử books.xml đã được tải vào xmlDoc
  2. Tạo điểm con mới <edition>
  3. Tạo điểm con văn bản mới "Ban đầu"
  4. Chèn điểm con văn bản này vào điểm con <edition>.
  5. Chèn điểm con <edition> vào phần tử <book>.

Chèn điểm con - insertBefore()

insertBefore() Phương pháp chèn điểm con trước điểm con con định nghĩa.

Nếu vị trí của điểm con được thêm vào rất quan trọng, phương pháp này rất hữu ích:

Ví dụ

newNode = xmlDoc.createElement("book");
x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);

Thử ngay

Giải thích ví dụ:

  1. Giả sử books.xml đã được tải vào xmlDoc
  2. Tạo phần tử điểm con mới <book>.
  3. Chèn điểm mới này vào trước phần tử điểm con cuối cùng <book>.
  4. Nếu tham số thứ hai của phương pháp insertBefore() là null, điểm mới sẽ được thêm vào sau điểm con hiện có cuối cùng.

x.insertBefore(newNode,null) và x.appendChild(newNode) có thể thêm các điểm con mới vào x.

Thêm thuộc tính mới

setAttribute() phương pháp đặt giá trị thuộc tính.

Nếu thuộc tính không tồn tại, setAttribute() Có thể tạo thuộc tính mới:

Ví dụ

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","Ban đầu");

Thử ngay

Giải thích ví dụ:

  1. Giả sử books.xml đã được tải vào xmlDoc
  2. Đặt giá trị thuộc tính "edition" của phần tử đầu tiên <book> là "Ban đầu"

Lưu ý:Phương pháp addAttribute() không tồn tại, nếu thuộc tính không tồn tại, phương pháp setAttribute() sẽ tạo thuộc tính mới. Nếu thuộc tính đã tồn tại, phương pháp setAttribute() sẽ thay thế giá trị hiện có.

Thêm văn bản vào điểm văn bản - insertData()

insertData() Phương pháp sẽ chèn dữ liệu vào điểm trong văn bản hiện có.

insertData() Phương pháp có hai tham số:

  • offset - Đâu là điểm bắt đầu chèn ký tự (bắt đầu từ 0)
  • string - Chữ cần chèn

Mã đoạn sau sẽ thêm "Tôi yêu thích" vào văn bản của yếu tố <title> đầu tiên trong XML đã tải lên:

Ví dụ

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Tôi yêu thích");

Thử ngay