iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#怎么实现实体类和XML的相互转换
  • 168
分享到

C#怎么实现实体类和XML的相互转换

2023-06-29 07:06:39 168人浏览 安东尼
摘要

这篇文章主要为大家展示了“C#怎么实现实体类和XML的相互转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#怎么实现实体类和XML的相互转换”这篇文章吧。一、实体类转换成XML将实体类转换成

这篇文章主要为大家展示了“C#怎么实现实体类和XML的相互转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#怎么实现实体类和XML的相互转换”这篇文章吧。

一、实体类转换成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);

 三、将DataTable转换成XML

//将DataTable转换成XMLDataTable dt = new DataTable("MyTable");//添加列dt.Columns.Add("Id", typeof(int));dt.Columns.Add("Name", typeof(string));dt.Columns.Add("Sex", typeof(char));//添加行dt.Rows.Add(1, "小明", '1');dt.Rows.Add(2, "小红", '2');dt.Rows.Add(3, "小王", '2');dt.Rows.Add(4, "测试", '2');//序列化,将DataTable转换成XML格式的字符串string strXML = XmlSerializeHelper.XmlSerialize <DataTable> (dt);

四、将XML转换成DataTable

//反序列化,将XML转换成字符串DataTable dtNew=  XmlSerializeHelper.DESerializer<DataTable>(strXML);

五、将List集合转换成XML

/// <summary>/// 测试类/// </summary>public class Student{    public int Id { get; set; }    public string Name { get; set; }    public char Sex { get; set; }    public int Age { get; set; }}//测试集合List<Student> list = new List<Student>(){        new Student(){Id=1,Name="小红",Sex='2',Age=20},        new Student(){Id=2,Name="小明",Sex='1',Age=22},        new Student(){Id=3,Name="小王",Sex='1',Age=19},        new Student(){Id=4,Name="测试",Sex='2',Age=23}};//序列化string strXML = XmlSerializeHelper.XmlSerialize<List<Student>>(list);

六、将XML转换成集合

使用上面例子中集合转换成的XML进行反序列化。

//反序列化List<Student> listStu = XmlSerializeHelper.DESerializer<List<Student>>(strXML);

以上是“C#怎么实现实体类和XML的相互转换”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: C#怎么实现实体类和XML的相互转换

本文链接: https://www.lsjlt.com/news/323535.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#实现实体类和XML的相互转换
    一、实体类转换成XML 将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化 public static string XmlSerial...
    99+
    2024-04-02
  • C#怎么实现实体类和XML的相互转换
    这篇文章主要为大家展示了“C#怎么实现实体类和XML的相互转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#怎么实现实体类和XML的相互转换”这篇文章吧。一、实体类转换成XML将实体类转换成...
    99+
    2023-06-29
  • 实体类和xml文件如何相互转换
    这篇文章给大家分享的是有关实体类和xml文件如何相互转换的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体代码如下:package com.pcq.entity; i...
    99+
    2024-04-02
  • C#实现子类与父类的相互转换
    目录子类与父类的相互转换例一例二子类父类之间相互转换的问题父类:动物类(Animal)子类:狗类(Dog)子类与父类的相互转换 1.父类不能直接强制转换成子类 2.子类可以强制转换成...
    99+
    2024-04-02
  • C#怎么使用XSLT实现xsl、xml与html相互转换
    这篇“C#怎么使用XSLT实现xsl、xml与html相互转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#怎么使用XS...
    99+
    2023-06-30
  • C#使用XSLT实现xsl、xml与html相互转换
    目录一、转为html文档1、xsl文件2、转换3、结果二、转为xml文档1、prices.xsl2、转换XsltArgumentList.AddExtensionObject三 、调...
    99+
    2024-04-02
  • 如何使用JAXBContext实现Java和xml的互相转换
    这篇文章主要介绍了如何使用JAXBContext实现Java和xml的互相转换,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JAXBContext实现Java和xml的互相转...
    99+
    2023-06-20
  • C#怎么实现Word和ODT文档相互转换
    本篇内容介绍了“C#怎么实现Word和ODT文档相互转换”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ODT文档格式一种开放文档格式(Ope...
    99+
    2023-06-30
  • C++类结构体与json相互转换
    目录1. 背景与需求2. 最终使用的样例代码3. 实现方法3.1 基础类型的转换3.2 类成员注册3.3 自定义类的转换3.4 外部调用接口1. 背景与需求 之前写C#的时候,解析j...
    99+
    2024-04-02
  • C#怎么实现Array,List,Dictionary相互转换
    这篇文章主要介绍“C#怎么实现Array,List,Dictionary相互转换”,在日常操作中,相信很多人在C#怎么实现Array,List,Dictionary相互转换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-30
  • Java实体和JSON之间的相互转换
    Java实体和JSON之间的相互转换 一、先写一个测试用的Java实体二、将Java实体转化为Json1、基于com.alibaba.fastjson.JSON(1)、JSON.toJSONS...
    99+
    2023-09-10
    java json 开发语言
  • Tensor和NumPy相互转换的实现
    目录1. Tensor 转 NumPy2. NumPy 数组转 Tensor3. torch.tensor() 将 NumPy 数组转换成 Tensor我们很容易用numpy()和f...
    99+
    2023-02-10
    Tensor NumPy转换 Tensor NumPy 相互转换
  • C#实现Array,List,Dictionary相互转换
    一、代码实例实现功能 将Array转换为List将List转换为Array将Array转换为Dictionary将Dictionary转换为Array将List转换为Dictiona...
    99+
    2024-04-02
  • java中map与实体类的相互转换操作
    java中map与实体类的相互转换 1. 在 pom.xml 中引入依赖包 <dependency> <groupId>com.alibaba&l...
    99+
    2024-04-02
  • 使用JAXBContext轻松实现Java和xml的互相转换方式
    JAXBContext实现Java和xml的互相转换 类文件注解:@XmlRootElement不可缺少 <span style="font-size:14px;">...
    99+
    2024-04-02
  • C++实现字符串和整数的相互转换
    目录字符串转换整数方法1方法2(推荐)整数转换字符串字符串转换整数 方法1 #include <iostream> #include <typeinfo> ...
    99+
    2023-01-03
    C++字符串转整数 C++整数转字符串 C++ 整数 字符串
  • vb.net结构体byte数组相互转换怎么实现
    在VB.NET中,可以使用Marshal类的PtrToStructure方法和StructureToPtr方法来实现结构体和字节数组...
    99+
    2023-10-24
    vb.net
  • Java怎么实现Unicode和中文相互转换
    在Java中,可以使用java.nio.charset.StandardCharsets类和java.lang.String类来实现...
    99+
    2023-10-18
    Java
  • C++ string和wstring怎么相互转换
    本篇内容主要讲解“C++ string和wstring怎么相互转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++ string和wstring怎么相互转换”吧!%S和%...
    99+
    2023-07-05
  • C#实现Word和ODT文档相互转换详解
    目录程序环境方法1方法2格式转换1. Word转为ODTC#vb.net2. ODT转为WordC#vb.netODT文档格式一种开放文档格式(OpenDocument Text)。...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作