国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現實體類和XML相互轉換

2020-01-24 00:43:51
字體:
來源:轉載
供稿:網友

一、實體類轉換成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);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宾阳县| 集安市| 治县。| 兴宁市| 安达市| 南开区| 宁化县| 延寿县| 金坛市| 大兴区| 鸡泽县| 刚察县| 永宁县| 丰顺县| 龙南县| 梅河口市| 平定县| 廉江市| 阳江市| 历史| 泉州市| 张家口市| 潮安县| 金阳县| 桐庐县| 航空| 铜鼓县| 景泰县| 东山县| 漯河市| 抚宁县| 邓州市| 徐水县| 湘潭市| 霍州市| 皋兰县| 横山县| 遂川县| 赣榆县| 天津市| 都兰县|