XMLSerializer:serializeToString() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

XMLSerializer 介面的 serializeToString() 方法可以將指定的 DOM 樹序列化為 XML 格式的字串。

語法

js
serializeToString(rootNode)

引數

rootNode

用於構建 XML 表示的 DOM 樹或子樹的根 Node

返回值

一個包含指定 DOM 樹 XML 表示的字串。

異常

TypeError

如果指定的 rootNode 不是相容的節點型別,則丟擲。根節點必須是 NodeAttr

InvalidStateError DOMException

如果樹無法成功序列化,則丟擲,這可能是由於內容的相容性問題導致 XML 序列化失敗。

SyntaxError DOMException

如果請求了 HTML 序列化但由於內容格式不正確而無法成功,則丟擲。

用法說明

相容的節點型別

指定的根節點及其所有後代節點都必須與 XML 序列化演算法相容。根節點本身必須是 NodeAttr 物件。

除了 NodeAttr 之外,以下型別也允許作為根節點的後代節點:

如果遇到任何其他型別,將丟擲 TypeError 異常。

關於生成的 XML 的注意事項

關於 serializeToString() 生成的 XML 輸出,有幾點值得注意:

  • 對於 XML 序列化,ElementAttr 節點始終會保留其 namespaceURI。這可能意味著之前指定的 prefix 或預設名稱空間可能會被丟棄或修改。
  • 生成的 XML 與 HTML 解析器相容。
  • HTML 名稱空間中沒有子節點的元素(從而表示空標籤)將使用開始和結束標籤("<someelement></someelement>")進行序列化,而不是使用自閉合標籤("<someelement/>")。

規範

規範
HTML
# dom-xmlserializer-serializetostring

瀏覽器相容性

另見