Инструменты пользователя

Инструменты сайта


serializacija

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

serializacija [2012/05/14 09:47] (текущий)
Строка 1: Строка 1:
 +====== Сериализация ======
 +Сериализация (в программировании) — процесс перевода какой-либо структуры данных в последовательность битов. Обратной к операции сериализации является операция десериализации — восстановление начального состояния структуры данных из битовой последовательности.
  
 +Сериализация используется для передачи объектов по сети и для сохранения их в файлы. Например,​ нужно создать распределённое приложение,​ разные части которого должны обмениваться данными со сложной структурой. В таком случае для типов данных,​ которые предполагается передавать,​ пишется код, который осуществляет сериализацию и десериализацию. Объект заполняется нужными данными,​ затем вызывается код сериализации,​ в результате получается,​ например,​ [[XML]]-документ. Результат сериализации передаётся принимающей стороне,​ например,​ по электронной почте или HTTP. Приложение-получатель создаёт объект того же типа и вызывает код десериализации,​ в результате получая объект с теми же данными,​ что были в объекте приложения-отправителя. По такой схеме работает,​ например,​ сериализация объектов через [[SOAP]].
 +===== Сериализация XML документа =====
 +Иногда бывает удобно сериализовать XML документ (или некоторые элементы документа),​ преобразовав его в строку. Это может понадобиться,​ например,​ чтобы отправить XML документ в теле HTTP запроса POST, сгенерированного с помощью объекта [[XMLHttpRequest]]. Нередко сериализация XML документов и их элементов выполняется для использования в отладочных сообщениях! ​
 +
 +В броузерах на базе Mozilla сериализация выполняется с помощью объекта XMLSerializer. В IE еще проще: с помощью свойства xml XMLобъекта Document или Element, возвращающего содержимое документа или элемента в сериализованной форме.
 +
 +В примере приводится программный код, выполняющий сериализацию в броузерах Mozilla и IE.
 +  * Пример. **Сериализация XML документа**.
 +<​file>​
 +/**
 +* Сериализует XMLдокумент или XMLэлемент и возвращает его в виде строки.
 +*/
 +XML.serialize = function(node) {
 +if (typeof XMLSerializer != "​undefined"​)
 +return (new XMLSerializer()).serializeToString(node);​
 +else if (node.xml) return node.xml;
 +else throw "​XML.serialize не поддерживается или не может сериализовать " + node;
 +};
 +</​file>​
загрузка...
serializacija.txt · Последние изменения: 2012/05/14 09:47 (внешнее изменение)