XMLSerializer
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Giao diện XMLSerializer cung cấp phương thức serializeToString() để xây dựng một chuỗi XML biểu diễn cây DOM.
Note: Chuỗi XML kết quả không đảm bảo là XML đúng định dạng (well-formed).
Constructor
XMLSerializer()-
Tạo một đối tượng
XMLSerializermới.
Phương thức thể hiện
serializeToString()-
Trả về chuỗi đã tuần tự hóa của cây con.
Ví dụ
>Tuần tự hóa XML thành chuỗi
Ví dụ này đơn giản tuần tự hóa toàn bộ tài liệu thành một chuỗi chứa XML.
const s = new XMLSerializer();
const str = s.serializeToString(document);
saveXML(str);
Quá trình này bao gồm việc tạo một đối tượng XMLSerializer mới, sau đó truyền Document cần tuần tự hóa vào serializeToString(), phương thức này trả về chuỗi tương đương XML của tài liệu. saveXML() đại diện cho một hàm sẽ lưu chuỗi đã tuần tự hóa.
Chèn các nút vào DOM dựa trên XML
Ví dụ này sử dụng phương thức Element.insertAdjacentHTML() để chèn một Node DOM mới vào phần thân của Document, dựa trên XML được tạo bằng cách tuần tự hóa một đối tượng Element.
Note:
Trong thực tế, bạn thường nên gọi phương thức importNode() để nhập nút mới vào DOM, sau đó gọi một trong các phương thức sau để thêm nút vào cây DOM:
- Các phương thức
Element.append()/Element.prepend()vàDocument.append()/Document.prepend(). - Phương thức
Element.replaceWith(để thay thế một nút hiện có bằng nút mới). - Phương thức
Element.insertAdjacentElement().
Vì insertAdjacentHTML() chấp nhận một chuỗi chứ không phải một Node làm tham số thứ hai, XMLSerializer được dùng để trước tiên chuyển đổi nút thành chuỗi.
const inp = document.createElement("input");
const XMLS = new XMLSerializer();
const inpSerialized = XMLS.serializeToString(inp); // Trước tiên chuyển đổi nút DOM thành chuỗi
// Chèn nút mới tạo vào phần body của tài liệu
document.body.insertAdjacentHTML("afterbegin", inpSerialized);
Đoạn mã trên tạo một phần tử <input> mới bằng cách gọi Document.createElement(), sau đó tuần tự hóa nó thành XML bằng serializeToString().
Sau khi hoàn tất, insertAdjacentHTML() được dùng để chèn phần tử <input> vào DOM.
Đặc tả kỹ thuật
| Specification |
|---|
| HTML> # xmlserializer> |