XmlSerializer.Deserialize 方法 (XmlReader)的C#例子

下面的示例使用 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.   
public   class  OrderedItem   
{   
    
public string ItemName;   
    
public string Description;   
    
public decimal UnitPrice;   
    
public int Quantity;   
    
public decimal LineTotal;   
  
    
// A custom method used to calculate price per item.   
    public void Calculate()   
    
{   
        LineTotal 
= UnitPrice * Quantity;   
    }
   
}
   
public   class  Test   
{   
    
public static void Main(string[] args)   
    
{   
        Test t 
= new Test();   
        
// Read a purchase order.   
        t.DeserializeObject("simple.xml");   
    }
   
  
    
private void 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.
public   class  OrderedItem
{
    
public string ItemName;
    
public string Description;
    
public decimal UnitPrice;
    
public int Quantity;
    
public decimal LineTotal;

    
// A custom method used to calculate price per item.
    public void Calculate()
    
{
        LineTotal 
= UnitPrice * Quantity;
    }

}

public   class  Test
{
    
public static void Main(string[] args)
    
{
        Test t 
= new Test();
        
// Read a purchase order.
        t.DeserializeObject("simple.xml");
    }


    
private void 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 ). 固定链接 


转载于:https://www.cnblogs.com/zwl12549/archive/2007/12/25/1014313.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值