XMLSerializer
接口提供
serializeToString()
方法以构造 XML 字符串表示
DOM
树。
serializeToString()
返回字符串的序列化子树。
serializeToStream()
The subtree rooted by the specified element is serialized to a byte stream using the character set specified.
The first, basic, example just serializes an entire document into a string containing XML.
var s = new XMLSerializer(); var d = document; var str = s.serializeToString(d); saveXML(str);
This involves creating a new
XMLSerializer
object, then passing the
Document
to be serialized into
serializeToString()
, which returns the XML equivalent of the document.
此范例使用
Element.insertAdjacentHTML()
method to insert a new DOM
节点
into the body of the
Document
, based on XML created by serializing an
元素
对象。
注意:
In the real world, you should usually instead call
importNode()
method to import the new node into the DOM, then call one of the following methods to add the node to the DOM tree:
Document
and
元素
方法
append()
and
prepend()
Node.replaceWith()
method (to replace an existing node with the new one)
Document.insertAdjacentElement()
and
Element.insertAdjacentElement()
方法。
因为
insertAdjacentHTML()
accepts a string and not a
节点
as its second parameter,
XMLSerializer
is used to first convert the node into a string.
var inp = document.createElement('input');
var XMLS = new XMLSerializer();
var 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);
The code creates a new
<input>
element by calling
Document.createElement()
, then serializes it into XML using
serializeToString()
.
Once that's done,
insertAdjacentHTML()
is used to insert the
<input>
element into the DOM.
| 规范 | 状态 | 注释 |
|---|---|---|
|
DOM 剖析和序列化
在该规范中的 XMLSerializer 定义。 |
工作草案 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
XMLSerializer
|
Chrome Yes | Edge 12 | Firefox Yes | IE 9 | Opera Yes | Safari 3 | WebView Android Yes | Chrome Android Yes | Firefox Android Yes | Opera Android Yes | Safari iOS Yes | Samsung Internet Android Yes |
serializeToStream
弃用
非标
|
Chrome Yes | Edge 79 | Firefox 不支持 ? — 20 | IE 不支持 No | Opera Yes | Safari 不支持 No | WebView Android Yes | Chrome Android Yes | Firefox Android 不支持 ? — 20 | Opera Android Yes | Safari iOS 不支持 No | Samsung Internet Android Yes |
完整支持
不支持
实验。期望将来行为有所改变。
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。