Spec-Zone.ru › Web APIs

XMLSerializer

Базовая поддержка Широко распространена

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Узнать больше
  • Посмотреть полную совместимость
  • Отправить отзыв

Интерфейс XMLSerializer предоставляет метод serializeToString() для построения строки XML, представляющей дерево DOM.

Примечание: Результирующая строка XML не гарантированно является правильно сформированным XML.

Конструктор

XMLSerializer()

Создаёт новый объект XMLSerializer.

Методы экземпляра

serializeToString()

Возвращает сериализованное поддерево в виде строки.

Примеры

Сериализация XML в строку

В этом примере выполняется полная сериализация документа в строку XML.

const s = new XMLSerializer();
const str = s.serializeToString(document);
saveXML(str);

Это включает создание нового объекта XMLSerializer, затем передачу Document для сериализации в serializeToString(), который возвращает XML-эквивалент документа. saveXML() представляет функцию, которая затем сохранит сериализованную строку.

Вставка узлов в DOM на основе XML

В этом примере используется метод Element.insertAdjacentHTML() для вставки нового DOM-узла Node в тело документа Document на основе XML, созданного путём сериализации объекта Element.

Примечание: В реальных приложениях обычно используется метод importNode() для импорта нового узла в DOM, а затем один из следующих методов для добавления узла в дерево DOM:

  • Методы Element.append()/Element.prepend() и Document.append()/Document.prepend().
  • Метод Element.replaceWith (для замены существующего узла новым).
  • Метод Element.insertAdjacentElement().

Так как insertAdjacentHTML() принимает строку, а не узел Node в качестве второго параметра, используется XMLSerializer для преобразования узла в строку.

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);

Код создаёт новый элемент <input> с помощью Document.createElement(), затем сериализует его в XML с помощью serializeToString().

После этого insertAdjacentHTML() используется для вставки элемента <input> в DOM.

Спецификации

Спецификация
DOM Разбор и Сериализация
# the-xmlserializer-interface

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
XMLSerializer 1 12 1 ≤12.1 3 18 4 ≤12.1 1 1.0 4.4
XMLSerializer 1 12 1 ≤12.1 3 18 4 ≤12.1 1 1.0 4.4
serializeToString 1 12 1 ≤12.1 3 18 4 ≤12.1 1 1.0 4.4

См. также

  • Разбор и сериализация XML
  • DOMParser

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XMLSerializer

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API