SOAP Serialization
There’s another form
of XML serialization, which may seem redundant at first.
You’ll recall that runtime serialization was able to
encode an object using SOAP. The SoapFormatter
produced a SOAP stream that was optimized for recreating the original
object in another .NET application; specifically, the object and all
its members were encoded using CLR types. A non-.NET application
reading that SOAP stream would most likely have no idea what to do
with the data.
However, the
XmlSerializer
can also serialize an object to
SOAP, with an emphasis on the standard SOAP encodings. With SOAP
serialization, you get all the interoperability of XML, with
additional CLR awareness. The key to standards-compliant SOAP
serialization is the SoapReflectionImporter
class.
The .NET Framework SDK Documentation will
tell you that SoapReflectionImporter
is reserved
for internal use, and should not be used by your application.
However, it does have one constructor and one method that you can use
to serialize objects to SOAP.
The code in Example 9-9 demonstrates how to
serialize the personnel records from earlier examples to SOAP, using
the same Personnel
class and the
CreatePersonnel( )
method from before.
public static void Main(string [ ] args) { Personnel personnel = CreatePersonnel( ); SoapReflectionImporter importer = new SoapReflectionImporter( ); XmlTypeMapping mapping = importer.ImportTypeMapping(typeof(Personnel)); XmlSerializer ...
Get .NET & XML now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.