xml反序列化为实体

随着框架应用的扩大,我们越来越习惯去操作一个实体类,而很多的基于接口的开发,或者一些应用程序,在数据的传输方面都是传输xml数据文件。
如果要获得XML来文件的数据,可以使用xmlDocument对象来操作此XML文件,但是那样是比较繁琐的,而且准确率也要降低一些。对于XML的序列化,大家一定比较了解的了。
下面我就谈一下我的看法(最近正好遇到此类问题,所以去了解了一下):

下面就是一个xml文件



 
   
<? xml version="1.0" encoding="UTF-8" ?>      
< request >        
   
< cqd  id ="1101" >      
  
< ckd_id > 0328O02000001 </ ckd_id >          
  
< item  thd_id ="200203281000001" >    
   
< quantity > 1000 </ quantity >   
  
</ item >       
 
</ cqd >        
   
< cqd  id ="1102" >      
  
< ckd_id > 0328O02000014 </ ckd_id >        
  
< item  thd_id ="200203291000012" >   
   
< quantity > 500 </ quantity >   
  
</ item >       
 
</ cqd >  
< name > lijun </ name >       
</ request >
其实要构造出一个实体对象,也就是要自己写一个针对于这个xml文件的模版,也就是几个类文件。
比如上面的<request>节点,就一个最大的实体对象,其实我知道在类里面,也就是存在属性,集合,对象。
<name>节点就是<request>对应这个类里面的一个属性,<cqd id="1101">节点因为是可以重复,而且里面也同时又包含了子节点,所以在<request>这个大类里面,我们定义为一个对象集合。<request>这个类的结构就基本已经出现了。假如我们命名为request.cs

同样就可以继续分析下一个节点了(<cqd>)!分析原理同上面一样,在反序列化的时候对于集合一定要标识[XmlElement(ElementName = "cqd")]
,节点的属性也同样要标志[XmlAttribute(AttributeName = "thd_id")]。
有个例子大家有兴趣的话,可以参考下!
download....

你可能感兴趣的:(反序列化)