Csharp/C Sharp/Web Services/SOAP
illustrates SOAP serialization
<source lang="csharp"> /* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110
- /
/* Example15_19.cs illustrates SOAP serialization
- /
using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Soap; // the Customer class gives us something to serialize [Serializable] class Customer {
// some private data members private int CustomerNumber; private string CustomerName; private string CustomerCountry; // the WriteCustomer method formats info to the screen public void WriteCustomer() { Console.WriteLine("Customer Number: " + this.CustomerNumber); Console.WriteLine("Customer Name: " + this.CustomerName); Console.WriteLine("Customer Country: " + this.CustomerCountry); } // the constructor accepts all the info to create a customer public Customer( int newCustomerNumber, string newCustomerName, string newCustomerCountry) { this.CustomerNumber = newCustomerNumber; this.CustomerName = newCustomerName; this.CustomerCountry = newCustomerCountry; }
} public class Example15_20 {
public static void Main() { // create a new customer and dump to screen Customer MyCustomer = new Customer(1, "X Corporation", "France"); MyCustomer.WriteCustomer(); // Create a FileStream to hold the serialized customer FileStream serializeStream = new FileStream("c:\\MyCustomer.xml", FileMode.Create); // use SOAP formatting SoapFormatter sf = new SoapFormatter(); // serialize the object sf.Serialize(serializeStream, MyCustomer); serializeStream.Flush(); serializeStream.Close(); // retrieve the serialized version to a second object and dump that FileStream retrieveStream = new FileStream("c:\\MyCustomer.xml", FileMode.Open); Customer NewCustomer = (Customer) sf.Deserialize(retrieveStream); NewCustomer.WriteCustomer(); }
}
</source>