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