ИНФОРМАЦИЯ: Схему для XML-сериализации в .NET Framework

Переводы статьи Переводы статьи
Код статьи: 314150
Развернуть все | Свернуть все

В этой статье

Аннотация

Данная статья содержит план для получения и основной сериализации и десериализации XML-кода (.NET FrameworkSystem.Xmlпространство имен).

Путеводитель статей содержат ссылки на полезные сведения, включая электронной документации, статей базы знаний Майкрософт и документация корпорации Майкрософт, чтобы узнать о технологии или продукта корпорации Майкрософт. Microsoft Knowledge Base как для статьи и примеры предоставляют пошаговые инструкции для выполнения конкретных задач. Примеры использования файлов — это готовые программы, которые иллюстрируют способ.

ОБЗОР

Сериализацией называется процесс преобразования объекта в форму, можно легко передавать. Например можно сериализовать объект и передавать его через Интернет по протоколу HTTP между клиентом и сервером. На другом конце десериализации воссоздает объект из потока.

В .NET Framework содержит две технологии сериализации:
  • Двоичная сериализациясохраняет соответствие типов, что полезно для сохранения состояния объекта между различными вызовами приложения. Например можно совместно использовать объект между приложениями путем сериализации его в буфер обмена. Например можно сериализовать объект в поток, диск, на область памяти, или в сети. В другой удаленного взаимодействия использует сериализацию для передачи объектов "по значению" с одного компьютера или домену приложения.
  • XML-сериализацииserializes only the public fields and property values of an object into an XML stream. XML serialization does not include type information. For example, if you have aКнигиobject that exists in theБиблиотекаnamespace, there is no guarantee that it will be deserialized into an object of the same type.
It is important to understand the difference between these two technologies. XML serialization does not convert methods, indexers, private fields, or read-only properties (except read-only collections). To serialize all of the public and private fields and properties of an object, use theBinaryFormatterinstead of XML serialization.

The following links provide overview information about XML serialization and deserialization in Microsoft Visual Studio .NET:
Introducing XML Serialization
http://msdn2.microsoft.com/en-us/library/182eeyhh(vs.71).aspx

XML and SOAP Serialization
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconserialization.asp

XML Serialization Architecture

надписьюSystem.XML.Serializationnamespace contains the classes that are used to serialize objects into XML format documents or streams.

The central class in the namespace is theXmlSerializerКласс:. To use this class, use the constructor of theXmlSerializerto create an instance of the class by using theTYPE :of the object to serialize. After anXmlSerializeris created, create an instance of the object to serialize. You must also create an object to write the file to a document or stream, such as aПоток, aTextWriter, or anXmlWriter. You can then call theSerializemethod to convert the object to an XML document.

To deserialize an object from an XML document, create a suitable object to read the document or stream (again aПоток, aTextWriter, or anXmlWriter). Invoke theDeserializemethod while casting the resulting object to theTYPE :of the original object that was serialized.

To control the serialization more, theSystem.XML.Serializationnamespace provides severalattribute:classes that can be applied to members of a class. For example, if a class contains a member that will be serialized as an XML element, you can apply theXmlElementAttributeattribute to the member. When applying the attribute, you can specify details such as the actual XML element name by using theElementNameСвойство.

The following link provides architectural (internal) information about XML serialization and deserialization:
XML Serialization Class
http://msdn2.microsoft.com/en-us/library/system.xml.serialization.xmlserializer(vs.71).aspx

System.Xml.Serialization Hierarchy
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlserializationhierarchy.asp

Основные понятия и Quickstarts

The following links take you to documentation about key XML serialization and deserialization concepts and Quickstart tutorials.
XML Serialization with XML Web Services
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconxmlserializationwithwebservices.asp

How do I read/write objects into XML?
http://samples.gotdotnet.com/quickstart/aspplus/default.aspx?url=/quickstart/howto/doc/XMLSerialization/RWObjFromXML.aspx

Overriding XML Serialization
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconoverridingserializationofclasseswithxmlattributeoverridesclass.asp

.NET Samples - How To: XML Serialization
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpqstart/html/cpsmpnetsamples-howtoxmlserialization.asp
The "Examples of XML Serialization" link gives several code samples that demonstrate XML serialization, including the following:
  • Serialization of a DataSet
  • Serialization of an XmlElement and XmlNode
  • A Class Containing a Field Returning a Complex Object Serialized
  • An Array of Objects Serialized
  • Serializing a Class that Implements the ICollection Interface
  • A Purchase Order Example
Примеры сериализации XML
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconanexampleofxmlserializationwithxmlserializer.asp
The "Controlling XML Serialization Using Attributes" link discusses the following topics with code samples:
  • Controlling Array Serialization
  • Serializing Derived Classes
  • Serializing an Array as a Sequence of Elements
  • Serializing an ArrayList
  • Controlling Serialization of Classes Using XmlRootAttribute and XmlTypeAttribute
  • Preventing Serialization With the XmlIgnoreAttribute
Controlling XML Serialization Using Attributes
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcontrollingserializationbyxmlserializerwithattributes.asp

Knowledge Base Articles

Microsoft Knowledge Base How To articles provide step-by-step instructions to complete a specific task.
315703HOW TO: Serialize an Object to XML by Using Visual Basic .NET
316730ПРАКТИЧЕСКОЕ руководство. Сериализации и десериализация XML в Visual Basic .NET
You can also run XSL transformations (XSLT), query and modify XML data by using DOM, and serialize or deserialize XML data by using theSystem.Xmlclasses in the .NET Framework. For more information, see the following Knowledge Base article:
313651Roadmap for XML in the .NET Framework

Пошаговые руководства

Walkthroughs provide mini-tutorials that walk you through some typical application development scenarios that use XML serialization and deserialization. The following link will take you to walkthrough documents.
Using Schema and Serialization to Leverage Business Logic
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexxml/html/xml04162001.asp

ПОИСК И УСТРАНЕНИЕ НЕПОЛАДОК

If you experience problems and want assistance, the best place to start is at the Microsoft Product Support Services (PSS) Web site:
http://support.microsoft.com
You have several options to find answers to your questions. You can search the Microsoft Knowledge Base, post your questions or share your experiences on Microsoft newsgroups, obtain the latest service packs and news about a specific product, or contact Microsoft Product Support.

Свойства

Код статьи: 314150 - Последний отзыв: 23 ноября 2010 г. - Revision: 2.0
Ключевые слова: 
kbarttyperoadmap kbinfo kbmt KB314150 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:314150
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com