Книга: Технологии интеграции "1С:Предприятия 8.3""
Назад: Чтение данных из XML-документа
Дальше: Простые типы

XML-сериализация

Как уже говорилось ранее, XML-документ имеет текcтовое содержимое. Это в первую очередь означает, что при записи в него любого значения (числа, даты, ссылки на объект и т. д.) оно преобразуется к строке. При получении данных возникает обратная задача по преобразованию значения из строкового в нужный тип.

С одной стороны, с помощью базовых средств чтения и записи документов XML можно решить любую задачу, связанную с организацией обмена. Но решение задачи преобразования типов в строковый и обратно потребует от разработчика очень больших затрат времени (на самостоятельную реализацию данных преобразований). Придется в полной мере работать со стандартными типами (W3C), определять собственное пространство имен (для описания некоторых типов «1С:Предприятия» в XML) и т. д.

Альтернативным (более простым и удобным) решением данной задачи может быть использование уже реализованных средств XML-сериализации.

С точки зрения данной системы каждый объект данных «1С:Предприятия» представляется как элемент XML-документа. Этот элемент может иметь подчиненные элементы. Как раз с этой точки зрения (есть у элемента подчиненные или нет) типы значений делятся на простые и сложные.

К простым типам данных относятся типы, значения которых представляются подсистемой XML-сериализации в виде элементов XML только с текстовым содержимым (листинг 6.49).

Листинг 6.49. Пример сериализации значения ссылки на справочник

<CatalogRef.Номенклатура>

178a492a-3fd4-11da-a1f2-0011d8388a5d

</CatalogRef.Номенклатура>

Значения сложных типов представляются в виде элементов XML, содержащих вложенные элементы (листинг 6.50).

Листинг 6.50. Пример сериализации значения типа «УдалениеОбъекта»

<v8:ObjectDeletion xmlns="http://v8.1c.ru/data">

<v8:Ref xsi:type="CatalogRef.Банки">

60c5cec3-7f6f-4ec3-9620-e757fe3614ca

</v8:Ref>

</v8:ObjectDeletion>

Если проанализировать типы, которые требуется подвергать преобразованию, то их можно разделить на три группы:

При рассмотрении примеров представления различных значений в XML и при дальнейшем изложении будем исходить из предположения, что определены следующие соответствия пространств имен (после xmlns определены их префиксы):

К простым типам с точки зрения представления в XML относятся следующие типы «1С:Предприятия»:

К сложным типам, значения которых могут быть представлены в XML, относятся следующие типы:

Назад: Чтение данных из XML-документа
Дальше: Простые типы