ArcObjects Library Reference  (System)    

XMLSerializer CoClass

An XML serializer and deserializer of objects.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Extended Error Information

Use the ISupportErrorInfo method InterfaceSupportsErrorInfo to determine if the object supports extended error information. If the object supports extended error info, VC++ developers should use the OLE/COM IErrorInfo interface to access the ErrorInfo object. Visual Basic developers should use the global error object Err to retrieve this extended error information.

Interfaces

Interfaces Description
ISupportErrorInfo (esriSystem) Indicates whether a specific interface can return Automation error objects.
IXMLSerializer Provides access to members that control the XML serialization and deserialization of objects.

Remarks


XML Serialization is the process of converting an object's public properties and fields to a serial format (XML) for storage or transport. In other words, Serialization is a way of saving the state of an object into a Stream or buffer.

Use the XMLSerializer coclass when you wish to serialize and deserialize objects. The Serializer will call an instance of the private SerializeData and QI the objects for IXMLSerialize and call Serialize. Once the serialization is complete you ask the SerializeData to write the properties it holds using XMLWriter. Using XMLStream will allow you to save the objects. The Deserialization is the opposite process and uses XMLReader .

See the IXMLSerializer interface for more on getting information about serialization of objects.
[Visual Basic 6.0]

  '*** Create XmlStream ***

  Dim pXmlStream As IXMLStream
  Set pXmlStream = New XmlStream
  

  '*** Create XmlWriter ***
  Dim pXmlWriter As IXMLWriter
  Set pXmlWriter = New XMLWriter
 

  '*** Hook the Stream to the writer ***
  pXmlWriter.WriteTo pXmlStream

 

  "*** Create XmlSerializer ***

  Dim pXmlSerial As IXMLSerializer
  Set pXmlSerial = New XMLSerializer
 
  pXmlSerial.WriteObject pXmlWriter, pPropset, Nothing, "Record", ss, prec

  '*** Save to stream to file ***

  pXMLStream.SaveToFile "d:\temp\foo.xml"

See Also

IXMLReader Interface | IXMLWriter Interface | IXMLStream Interface