600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > C#实现实体类和XML相互转换的示例代码详解

C#实现实体类和XML相互转换的示例代码详解

时间:2020-12-25 23:41:14

相关推荐

C#实现实体类和XML相互转换的示例代码详解

后端开发|C#.Net教程

C#,XML,实体类

后端开发-C#.Net教程

这篇文章主要为大家详细介绍了C#实现实体类和XML相互转换的资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

php电商网站的源码下载,ubuntu查网卡配置,千锋python爬虫,php brack,美炒seolzw

A、实体类转换成XML

微信文本编辑器源码,vscode键盘编辑,戴尔服务器ubuntu,tomcat 空跑,QT sqlite使用,mc服务器带宽要求,微信社区插件,简单前端页面框架,网络爬虫 知乎,php回环,seo还能做吗,手机网站模版免费下载,手机网页表格样式,帮助手册模板,单页面自适应,php图书馆管理系统代码,简单词法分析器源程序lzw

将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化

手机登录界面 源码,vscode下载到什么盘,usb网卡 ubuntu,tomcat版本时间发布,儿童爬虫子,phpcms 运行php,天津品质seo优化哪家便宜,影视网站源码上传,wordpress内容主题模板lzw

public static string XmlSerialize(T obj){ using (StringWriter sw = new StringWriter()) { Type t= obj.GetType(); XmlSerializer serializer = new XmlSerializer(obj.GetType()); serializer.Serialize(sw, obj); sw.Close(); return sw.ToString(); }}

示例:

1、定义实体类

[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)] [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)] public class Request { public string System { get; set; } public string SecurityCode { get; set; } public PatientBasicInfo PatientInfo { get; set; } } /// [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)] public partial class PatientBasicInfo { public string PatientNo { get; set; } public string PatientName { get; set; } public string Phoneticize { get; set; } public string Sex { get; set; } public string Birth { get; set; } public string BirthPlace { get; set; } public string Country { get; set; } public string Nation { get; set; } public string IDNumber { get; set; } public string SecurityNo { get; set; } public string Workunits { get; set; } public string Address { get; set; } public string ZIPCode { get; set; } public string Phone { get; set; } public string ContactPerson { get; set; } public string ContactShip { get; set; } public string ContactPersonAdd { get; set; } public string ContactPersonPhone { get; set; } public string OperationCode { get; set; } public string OperationName { get; set; } public string OperationTime { get; set; } public string CardNo { get; set; } public string ChangeType { get; set; } }

2、给实体类赋值,并通过序列化将实体类转换成XML格式的字符串

Request patientIn = new Request(); patientIn.System = "HIS"; patientIn.SecurityCode = "HIS5"; PatientBasicInfo basicInfo = new PatientBasicInfo(); basicInfo.PatientNo = "1234"; basicInfo.PatientName = "测试"; basicInfo.Phoneticize = ""; basicInfo.Sex = "1"; basicInfo.Birth = ""; basicInfo.BirthPlace = ""; basicInfo.Country = ""; basicInfo.Nation = ""; basicInfo.IDNumber = ""; basicInfo.SecurityNo = ""; basicInfo.Workunits = ""; basicInfo.Address = ""; basicInfo.ZIPCode = ""; basicInfo.Phone = ""; basicInfo.ContactShip = ""; basicInfo.ContactPersonPhone = ""; basicInfo.ContactPersonAdd = ""; basicInfo.ContactPerson = ""; basicInfo.ChangeType = ""; basicInfo.CardNo = ""; basicInfo.OperationCode = ""; basicInfo.OperationName = ""; basicInfo.OperationTime = ""; patientIn.PatientInfo = basicInfo; //序列化 string strxml = XmlSerializeHelper.XmlSerialize(patientIn);

3、生成的XML实例

HIS HIS5 1234 测试 1

B、将XML转换成实体类

把XML转换成相应的实体类,需要使用到XmlSerializer类的Deserialize方法,将XML进行反序列化。

public static T DESerializer(string strXML) where T:class{ try { using (StringReader sr = new StringReader(strXML)) { XmlSerializer serializer = new XmlSerializer(typeof(T)); return serializer.Deserialize(sr) as T; } } catch (Exception ex) { return null; }}

示例:

将上例中序列化后的XML反序列化成实体类

//反序列化Request r = XmlSerializeHelper.DESerializer(strxml);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。