XMLSerializer:serializeToString() 方法
XMLSerializer 接口的 serializeToString() 方法可以将指定的 DOM 树序列化为 XML 格式的字符串。
语法
js
serializeToString(rootNode)
参数
返回值
一个包含指定 DOM 树 XML 表示的字符串。
异常
TypeErrorInvalidStateErrorDOMException-
如果树无法成功序列化,则抛出,这可能是由于内容的兼容性问题导致 XML 序列化失败。
SyntaxErrorDOMException-
如果请求了 HTML 序列化但由于内容格式不正确而无法成功,则抛出。
用法说明
兼容的节点类型
指定的根节点及其所有后代节点都必须与 XML 序列化算法兼容。根节点本身必须是 Node 或 Attr 对象。
除了 Node 和 Attr 之外,以下类型也允许作为根节点的后代节点:
如果遇到任何其他类型,将抛出 TypeError 异常。
关于生成的 XML 的注意事项
关于 serializeToString() 生成的 XML 输出,有几点值得注意:
- 对于 XML 序列化,
Element和Attr节点始终会保留其namespaceURI。这可能意味着之前指定的prefix或默认命名空间可能会被丢弃或修改。 - 生成的 XML 与 HTML 解析器兼容。
- HTML 命名空间中没有子节点的元素(从而表示空标签)将使用开始和结束标签(
"<someelement></someelement>")进行序列化,而不是使用自闭合标签("<someelement/>")。
规范
| 规范 |
|---|
| HTML # dom-xmlserializer-serializetostring |
浏览器兼容性
加载中…
另见
- 解析和序列化 XML
- 序列化为 HTML:
Element.innerHTML和Element.outerHTML - 解析 HTML 或 XML 以创建 DOM 树:
DOMParser