XMLSerializer

基线 广泛可用

此功能已建立良好,并在许多设备和浏览器版本上运行。它从 2015 年 7 月.

报告反馈

XMLSerializer 接口提供了 serializeToString() 方法,用于构造表示 DOM 树的 XML 字符串。

构造函数

XMLSerializer()

注意:生成的 XML 字符串不保证是格式良好的 XML。

实例方法

serializeToString()

创建一个新的 XMLSerializer 对象。

示例

返回字符串的序列化子树。

将 XML 序列化为字符串

此示例仅将整个文档序列化为包含 XML 的字符串。
const s = new XMLSerializer();
const str = s.serializeToString(document);
saveXML(str);

js

这包括创建一个新的 XMLSerializer 对象,然后将要序列化的 Document 传递到 serializeToString() 中,该方法返回文档的 XML 等效项。saveXML() 代表一个函数,该函数将保存序列化后的字符串。

基于 XML 将节点插入 DOM

此示例使用 Element.insertAdjacentHTML() 方法,基于序列化后的 Element 对象创建的 XML,将新的 DOM Node 插入 Document 的主体中。

Element.insertAdjacentElement() 方法。

此示例仅将整个文档序列化为包含 XML 的字符串。
const inp = document.createElement("input");
const XMLS = new XMLSerializer();
const inp_xmls = XMLS.serializeToString(inp); // First convert DOM node into a string

// Insert the newly created node into the document's body
document.body.insertAdjacentHTML("afterbegin", inp_xmls);

由于 insertAdjacentHTML() 接受一个字符串而不是一个 Node 作为其第二个参数,因此 XMLSerializer 用于首先将节点转换为字符串。

该代码通过调用 Document.createElement() 创建一个新的 <input> 元素,然后使用 serializeToString() 将其序列化为 XML。

规范

完成后,insertAdjacentHTML() 用于将 <input> 元素插入 DOM。
规范
# DOM 解析和序列化

浏览器兼容性

the-xmlserializer-interface

另请参阅