最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實(shí)現(xiàn)實(shí)體類(lèi)和XML相互轉(zhuǎn)換

 更新時(shí)間:2017年03月07日 11:08:30   作者:.NET開(kāi)發(fā)菜鳥(niǎo)  
這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)實(shí)體類(lèi)和XML相互轉(zhuǎn)換的資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

一、實(shí)體類(lèi)轉(zhuǎn)換成XML

將實(shí)體類(lèi)轉(zhuǎn)換成XML需要使用XmlSerializer類(lèi)的Serialize方法,將實(shí)體類(lèi)序列化

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、定義實(shí)體類(lèi)

[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、給實(shí)體類(lèi)賦值,并通過(guò)序列化將實(shí)體類(lèi)轉(zhuǎn)換成XML格式的字符串

Request patientIn = new Request();
   patientIn.System = "HIS";
   patientIn.SecurityCode = "HIS5";

   PatientBasicInfo basicInfo = new PatientBasicInfo();
   basicInfo.PatientNo = "1234";
   basicInfo.PatientName = "測(cè)試";
   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實(shí)例

<?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>測(cè)試</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轉(zhuǎn)換成實(shí)體類(lèi)

把XML轉(zhuǎn)換成相應(yīng)的實(shí)體類(lèi),需要使用到XmlSerializer類(lèi)的Deserialize方法,將XML進(jìn)行反序列化。

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反序列化成實(shí)體類(lèi)

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在winform下實(shí)現(xiàn)左右布局多窗口界面的方法之續(xù)篇

    在winform下實(shí)現(xiàn)左右布局多窗口界面的方法之續(xù)篇

    這篇文章主要介紹了在winform下實(shí)現(xiàn)左右布局多窗口界面的方法之續(xù)篇 的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • 深入淺析C#中的var和dynamic

    深入淺析C#中的var和dynamic

    這篇文章給大家介紹了C#中的var和dynamic的相關(guān)知識(shí),var和dynamic的本質(zhì)區(qū)別是類(lèi)型判斷的時(shí)間不同,前者是編譯時(shí),后者是運(yùn)行時(shí)。具體內(nèi)容詳情大家通過(guò)本文學(xué)習(xí)下吧
    2018-05-05
  • C#實(shí)現(xiàn)簡(jiǎn)單文本編輯器

    C#實(shí)現(xiàn)簡(jiǎn)單文本編輯器

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)單文本編輯器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • C#使用NOPI庫(kù)實(shí)現(xiàn)導(dǎo)入Excel文檔

    C#使用NOPI庫(kù)實(shí)現(xiàn)導(dǎo)入Excel文檔

    NPOI中N指代的是.Net,POI是一個(gè)完全開(kāi)源的Java寫(xiě)成的庫(kù),能夠在沒(méi)有安裝微軟Office或者相應(yīng)環(huán)境的情況下讀寫(xiě)Excel、Word等微軟OLE2組件文檔,幾乎支持所有的Office97~Office2007的文件格式。所以NPOI就是POI項(xiàng)目的.Net版本。
    2017-05-05
  • 微信公眾號(hào)被動(dòng)消息回復(fù)原理解析

    微信公眾號(hào)被動(dòng)消息回復(fù)原理解析

    這篇文章主要介紹了公眾號(hào)被動(dòng)消息回復(fù)原理解析,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • C#逐行讀取txt文件的方法

    C#逐行讀取txt文件的方法

    這篇文章主要介紹了C#逐行讀取txt文件的方法,是C#程序設(shè)計(jì)中非常實(shí)用的一個(gè)技巧,需要的朋友可以參考下
    2014-09-09
  • C#?在PDF中添加墨跡注釋Ink?Annotation的步驟詳解

    C#?在PDF中添加墨跡注釋Ink?Annotation的步驟詳解

    PDF中的墨跡注釋表現(xiàn)為徒手涂鴉式的形狀,該類(lèi)型的注釋?zhuān)扇我庵付ㄐ螤铐旤c(diǎn)的位置及個(gè)數(shù),通過(guò)指定的頂點(diǎn),程序?qū)⑦B接各點(diǎn)繪制成平滑的曲線,下面通過(guò)C#程序代碼介紹下在pdf中添加注釋的步驟,感興趣的朋友一起看看吧
    2022-02-02
  • C#統(tǒng)計(jì)字符串里中文漢字個(gè)數(shù)的方法

    C#統(tǒng)計(jì)字符串里中文漢字個(gè)數(shù)的方法

    這篇文章主要介紹了C#統(tǒng)計(jì)字符串里中文漢字個(gè)數(shù)的方法,本文通過(guò)正則實(shí)現(xiàn)統(tǒng)計(jì)出一段字符串里中文字?jǐn)?shù),需要的朋友可以參考下
    2014-08-08
  • 用C#編寫(xiě)ActiveX控件(三)

    用C#編寫(xiě)ActiveX控件(三)

    用C#編寫(xiě)ActiveX控件(三)...
    2007-03-03
  • C#/VB.NET實(shí)現(xiàn)PPT或PPTX轉(zhuǎn)換為圖像功能

    C#/VB.NET實(shí)現(xiàn)PPT或PPTX轉(zhuǎn)換為圖像功能

    由于大多數(shù)便攜式設(shè)備支持瀏覽圖片而不支持瀏覽PowerPoint 文件,所以相比較而言,圖像對(duì)于用戶(hù)而言更加友好。本文將利用C#/VB.NET實(shí)現(xiàn)PPT或PPTX轉(zhuǎn)換為圖像功能,需要的可以參考一下
    2022-08-08

最新評(píng)論

兖州市| 昂仁县| 台南市| 无锡市| 都兰县| 眉山市| 丹巴县| 合江县| 固始县| 策勒县| 微山县| 宝坻区| 花莲县| 武汉市| 松溪县| 普兰店市| 江孜县| 宿迁市| 甘孜县| 宝山区| 酉阳| 孟州市| 鄂尔多斯市| 枣强县| 海晏县| 岳池县| 响水县| 剑河县| 梨树县| 孝感市| 炉霍县| 荣昌县| 大同市| 莱芜市| 惠来县| 固阳县| 淳化县| 平遥县| 同江市| 阜康市| 大港区|