一、实体类转换成XML

将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化
public static string XmlSerialize<T>(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; }
}
/// <remarks/>
[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<Request>(patientIn);
3、生成的XML实例
<?xml version="1.0" encoding="utf-16"?> <Request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <System>HIS</System> <SecurityCode>HIS5</SecurityCode> <PatientInfo> <PatientNo>1234</PatientNo> <PatientName>测试</PatientName> <Phoneticize /> <Sex>1</Sex> <Birth /> <BirthPlace /> <Country /> <Nation /> <IDNumber /> <SecurityNo /> <Workunits /> <Address /> <ZIPCode /> <Phone /> <ContactPerson /> <ContactShip /> <ContactPersonAdd /> <ContactPersonPhone /> <OperationCode /> <OperationName /> <OperationTime /> <CardNo /> <ChangeType /> </PatientInfo> </Request>
二、将XML转换成实体类
把XML转换成相应的实体类,需要使用到XmlSerializer类的Deserialize方法,将XML进行反序列化。
public static T DESerializer<T>(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<Request>(strxml);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# C#
# XML转换成实体类
# C#实体类转换成XML
# C#实现XML与实体类之间相互转换的方法(序列化与反序列化)
# C#实现实体类和XML的相互转换
# 转换成
# 实体类
# 序列化
# 大家多多
# AnonymousType
# true
# XmlRootAttribute
# false
# IsNullable
# Namespace
# System
# color
# XmlTypeAttribute
# Serialization
# Xml
# PatientName
# PatientNo
# partial
# Birth
# Sex
相关文章:
Python多线程使用规范_线程安全解析【教程】
大学网站设计制作软件有哪些,如何将网站制作成自己app?
建站之星后台管理如何实现高效配置?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
行程制作网站有哪些,第三方机票电子行程单怎么开?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
如何在景安服务器上快速搭建个人网站?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
Android自定义listview布局实现上拉加载下拉刷新功能
高端云建站费用究竟需要多少预算?
网站代码制作软件有哪些,如何生成自己网站的代码?
中山网站推广排名,中山信息港登录入口?
C#如何在一个XML文件中查找并替换文本内容
大连 网站制作,大连天途有线官网?
如何解决ASP生成WAP建站中文乱码问题?
,石家庄四十八中学官网?
网站制作需要会哪些技术,建立一个网站要花费多少?
建站之星后台管理:高效配置与模板优化提升用户体验
如何快速搭建自助建站会员专属系统?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
公众号网站制作网页,微信公众号怎么制作?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
制作网站的基本流程,设计网站的软件是什么?
如何做静态网页,sublimetext3.0制作静态网页?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
如何在云虚拟主机上快速搭建个人网站?
焦点电影公司作品,电影焦点结局是什么?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何用已有域名快速搭建网站?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
如何在Windows虚拟主机上快速搭建网站?
外贸公司网站制作哪家好,maersk船公司官网?
如何获取免费开源的自助建站系统源码?
Python如何创建带属性的XML节点
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何在阿里云ECS服务器部署织梦CMS网站?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
建站之星安装失败:服务器环境不兼容?
如何获取上海专业网站定制建站电话?
详解jQuery停止动画——stop()方法的使用
如何通过建站之星自助学习解决操作问题?
建站之星如何实现PC+手机+微信网站五合一建站?
建站之星后台密码遗忘?如何快速找回?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
如何用AWS免费套餐快速搭建高效网站?
建站OpenVZ教程与优化策略:配置指南与性能提升
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
c# 在高并发场景下,委托和接口调用的性能对比
网站制作壁纸教程视频,电脑壁纸网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。