XmlSerializer.Deserialize 方法 (XmlReader)的C#例子
 下面的示例使用 XmlReader 反序列化对象。
下面的示例使用 XmlReader 反序列化对象。
 view plaincopy to clipboardprint?
view plaincopy to clipboardprint? using System;
using System;    using System.IO;
using System.IO;    using System.Text;
using System.Text;    using System.Xml;
using System.Xml;    using System.Xml.Serialization;
using System.Xml.Serialization;    
   // This is the class that will be deserialized.
// This is the class that will be deserialized.    public class OrderedItem
public class OrderedItem    {
{    public string ItemName;
    public string ItemName;    public string Description;
    public string Description;    public decimal UnitPrice;
    public decimal UnitPrice;    public int Quantity;
    public int Quantity;    public decimal LineTotal;
    public decimal LineTotal;    
   // A custom method used to calculate price per item.
    // A custom method used to calculate price per item.    public void Calculate()
    public void Calculate()    {
    {    LineTotal = UnitPrice * Quantity;
        LineTotal = UnitPrice * Quantity;    }
    }    }
}    public class Test
public class Test    {
{    public static void Main(string[] args)
    public static void Main(string[] args)    {
    {    Test t = new Test();
        Test t = new Test();    // Read a purchase order.
        // Read a purchase order.    t.DeserializeObject("simple.xml");
        t.DeserializeObject("simple.xml");    }
    }    
   private void DeserializeObject(string filename)
    private void DeserializeObject(string filename)    {
    {    Console.WriteLine("Reading with XmlReader");
        Console.WriteLine("Reading with XmlReader");    
   // Create an instance of the XmlSerializer specifying type and namespace.
        // Create an instance of the XmlSerializer specifying type and namespace.    XmlSerializer serializer = new
        XmlSerializer serializer = new   XmlSerializer(typeof(OrderedItem));
        XmlSerializer(typeof(OrderedItem));    
   // A FileStream is needed to read the XML document.
        // A FileStream is needed to read the XML document.    FileStream fs = new FileStream(filename, FileMode.Open);
        FileStream fs = new FileStream(filename, FileMode.Open);    XmlReader reader = XmlReader.Create(fs);
        XmlReader reader = XmlReader.Create(fs);    
   // Declare an object variable of the type to be deserialized.
        // Declare an object variable of the type to be deserialized.    OrderedItem i;
        OrderedItem i;    
   // Use the Deserialize method to restore the object's state.
        // Use the Deserialize method to restore the object's state.    i = (OrderedItem)serializer.Deserialize(reader);
        i = (OrderedItem)serializer.Deserialize(reader);    fs.Close();
        fs.Close();    
   // Write out the properties of the object.
        // Write out the properties of the object.    Console.Write(
        Console.Write(    i.ItemName + "\t" +
        i.ItemName + "\t" +    i.Description + "\t" +
        i.Description + "\t" +    i.UnitPrice + "\t" +
        i.UnitPrice + "\t" +    i.Quantity + "\t" +
        i.Quantity + "\t" +    i.LineTotal);
        i.LineTotal);    }
    }    }
}  
 using System;
using System; using System.IO;
using System.IO; using System.Text;
using System.Text; using System.Xml;
using System.Xml; using System.Xml.Serialization;
using System.Xml.Serialization;
 // This is the class that will be deserialized.
// This is the class that will be deserialized. public class OrderedItem
public class OrderedItem {
{ public string ItemName;
    public string ItemName; public string Description;
    public string Description; public decimal UnitPrice;
    public decimal UnitPrice; public int Quantity;
    public int Quantity; public decimal LineTotal;
    public decimal LineTotal;
 // A custom method used to calculate price per item.
    // A custom method used to calculate price per item. public void Calculate()
    public void Calculate() {
    { LineTotal = UnitPrice * Quantity;
        LineTotal = UnitPrice * Quantity; }
    } }
} public class Test
public class Test {
{ public static void Main(string[] args)
    public static void Main(string[] args) {
    { Test t = new Test();
        Test t = new Test(); // Read a purchase order.
        // Read a purchase order. t.DeserializeObject("simple.xml");
        t.DeserializeObject("simple.xml"); }
    }
 private void DeserializeObject(string filename)
    private void DeserializeObject(string filename) {
    { Console.WriteLine("Reading with XmlReader");
        Console.WriteLine("Reading with XmlReader");
 // Create an instance of the XmlSerializer specifying type and namespace.
        // Create an instance of the XmlSerializer specifying type and namespace. XmlSerializer serializer = new
        XmlSerializer serializer = new XmlSerializer(typeof(OrderedItem));
        XmlSerializer(typeof(OrderedItem));
 // A FileStream is needed to read the XML document.
        // A FileStream is needed to read the XML document. FileStream fs = new FileStream(filename, FileMode.Open);
        FileStream fs = new FileStream(filename, FileMode.Open); XmlReader reader = XmlReader.Create(fs);
        XmlReader reader = XmlReader.Create(fs);
 // Declare an object variable of the type to be deserialized.
        // Declare an object variable of the type to be deserialized. OrderedItem i;
        OrderedItem i;
 // Use the Deserialize method to restore the object's state.
        // Use the Deserialize method to restore the object's state. i = (OrderedItem)serializer.Deserialize(reader);
        i = (OrderedItem)serializer.Deserialize(reader); fs.Close();
        fs.Close();
 // Write out the properties of the object.
        // Write out the properties of the object. Console.Write(
        Console.Write( i.ItemName + "\t" +
        i.ItemName + "\t" + i.Description + "\t" +
        i.Description + "\t" + i.UnitPrice + "\t" +
        i.UnitPrice + "\t" + i.Quantity + "\t" +
        i.Quantity + "\t" + i.LineTotal);
        i.LineTotal); }
    } }
}
 Tag: C#, 方法, XmlReader, Deserialize, XmlSerializer . 评论: (0). 固定链接
Tag: C#, 方法, XmlReader, Deserialize, XmlSerializer . 评论: (0). 固定链接 


 
                    
                     
                    
                 
                    
                

 
     
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号