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.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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