XML-документы и сериализация объектов в XML-документ. Условия применения. Шаблон применения. — КиберПедия 

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

XML-документы и сериализация объектов в XML-документ. Условия применения. Шаблон применения.

2017-11-27 217
XML-документы и сериализация объектов в XML-документ. Условия применения. Шаблон применения. 0.00 из 5.00 0 оценок
Заказать работу

Extensible Markup Language (XML) — расширяемый язык разметки. Это способ хранения данных в простом текстовом формате, т.е. он может быть прочитан почти на любом компьютере. Документом XML может быть физический файл на компьютере или просто строка в памяти. Например, определить элемент для хранения заголовка книги можно следующим образом:

<book>Tristram Shandy</book>

Элементы также могут содержать в себе другие элементы, так что вы можете моди­фицировать элемент <book> таким образом, чтобы включить информацию об авторе наряду с заголовком книги в двух подэлементах:

<book>

<title>Tristram Shandy</title>

<author>Lawrence Sterne</author>

</book>

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

Объявление XML по своему формату подобно элементу, но имеет внутри себя во­просительные знаки и угловые скобки. Оно всегда имеет имя xml и всегда снабжено атрибутом по имени version; в настоящее время единственное допустимое значение для него — "1.0". Простейшая возможная форма XML-объявления такова:

<?xml version="l.0"?>

Данные XML структурированы иерархически. Каждый документ должен иметь единственный корневой элемент, внутри которого содержатся все элементы и тексто­вые данные. Если на вершине документа находится более одного элемента, то такой документ не считается правильным документом XML. Правильный документ XML:

<?xml version="l.0"?>

<books>

<book>Tristram Shandy</book> <book>Moby Dick</book> <book>Ulysses</book> </books>

Нет ограничений на число подэлементов, которые может содержать элемент. Для правильного документа XML характерно:

1. Иметь один, и только один корневой элемент.

2. Иметь закрывающие дескрипторы для каждого элемента (за исключением со­кращенного синтаксиса, упомянутого ранее).

3. Не иметь перекрывающихся элементов — все дочерние элементы должны быть полностью помещены внутри родителя.

4. Иметь все атрибуты, заключенные в скобки.

Сериализация XML – это процесс преобразования открытых свойств и полей объекта в серийный формат XML для хранения и транспортировки. Десериализация пересоздает объект в его исходном состоянии из вывода XML. Сериализацию можно представить в качестве способа сохранения состояния объекта в поток или буфер.

Для передачи данных между объектами и XML требуется сопоставление из конструкций языка программирования в схему XML и из схемы XML в конструкции языка программирования. XmlSerializer (сериализует объект в поток) и связанные инструменты предоставляют мост между данными двумя технологиями во время разработки и выполнения. Во время выполнения экземпляры классов могут быть сериализованы в документы XML, удовлетворяющие заданной схеме. Аналогично, данные документы XML могут быть десериализованы в объекты времени выполнения.

XmlSerializer обеспечивает преимущество работы с классами строгих типов и, в то же время, обеспечивает гибкость XML. С помощью полей или свойств типа XmlElement, XmlAttribute или XmlNode в классах строгих типов можно считывать части документа XML непосредственно в объекты XML.

При работе в расширяемых схемах XML можно также использовать атрибуты XmlAnyElementAttribute и XmlAnyAttributeAttribute для сериализации и десериализации элементов или атрибутов, не обнаруженных в исходной схеме.

Если свойство или поле возвращает сложный объект (например, массив или экземпляр класса), XmlSerializer преобразует его в элемент, вложенный в рамках основного документа XML.

XmlSerializer предоставляет специальную обработку для классов, реализующих IEnumerable или ICollection. Класс, реализующий IEnumerable, должен реализовывать открытый метод Add, принимающий один параметр. Параметр метода Add должен быть того же типа, что и тип, возвращенный из свойства Current по значению, возвращенному из GetEnumerator, или одним из базовых типов. Класс, реализующий ICollection (например, CollectionBase), в дополнение к IEnumerable должен иметь открытое индексированное свойство Item (индексатор в C#), принимающее целое значение, а также должен иметь открытое свойство Count целого типа. Параметр для метода Add должен быть того же типа, что и тип возвращенного значения из свойства Item или быть одним из базовых типов. Для классов, реализующих ICollection, сериализуемые значения извлекаются из индексированного свойства Item, а не путем вызова GetEnumerator.

 


 


Поделиться с друзьями:

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.