注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我只是一个人

我爱一个人

 
 
 

日志

 
 

用XSD自动生成XML对应的.NET实体类  

2012-07-12 09:48:34|  分类: 网页制作--技巧| |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在做测试的过程中,测试数据会保存到一个XML文件里面,很多时候还是先有测试数据(XML),后面才会去做测试。在C#里面,读取XML的方法有很多,最近用了一下XmlSerializer,感觉非常爽!

自己先编一个XML文件,也就是测试数据:

       Magus     
 open5555           
29        
30       
    77      
  21


然后利用XSD.EXE工具自动生成一个相应的实例类,不用自己编了~,输入命令

xsd XMLFile1.xml

这样会默认生成一个XMLFile1.xsd文件,然后再根据这个xsd文件来生成相应的C#实例类

xsd XMLFile1.xsd /c

默认会生成一个XMLFile1.cs的实例类

    
using System.Xml.Serialization;     [System.SerializableAttribute()]  [System.Xml.Serialization.XmlRoot()]  public partial class Config {         private string userNameField;         private string passwordField;         private ConfigData[] dataField;         ///      [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]      public string UserName {          get {              return this.userNameField;          }          set {              this.userNameField = value;          }      }         ///      [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]      public string Password {          get {              return this.passwordField;          }          set {              this.passwordField = value;          }      }         ///      [System.Xml.Serialization.XmlElementAttribute("Data", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]      public ConfigData[] Data {          get {              return this.dataField;          }          set {              this.dataField = value;          }      }  }     ///  [System.SerializableAttribute()]  [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]  public partial class ConfigData {         private string manField;         private string ladyField;         ///      [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]      public string Man {          get {              return this.manField;          }          set {              this.manField = value;          }      }         ///      [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]      public string Lady {          get {              return this.ladyField;          }          set {              this.ladyField = value;          }      }  }     ///  [System.SerializableAttribute()]  [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)]  [System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]  public partial class NewDataSet {         private Config[] itemsField;         ///      [System.Xml.Serialization.XmlElementAttribute("Config")]      public Config[] Items {          get {              return this.itemsField;          }          set {              this.itemsField = value;          }      }  }

然后把XMLFile1.cs和XMLFile1.xml拷到项目底下就可以用了~非常方便~

用的时候:

XmlSerializer xs = new XmlSerializer(typeof(Config)); 
FileStream fs = new FileStream("XMLFile1.xml", FileMode.Open); 
Config config = (Config)xs.Deserialize(fs); 
String name = config.UserName
  评论这张
 
阅读(1061)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017