C#中实体集合和实体转换成相应的string、XDocument、XElement、XDocument

一、前言

上篇随笔主要是针对于Xml的特性Attribute与实体之间的匹配与转换。该篇随笔主要内容为将对象转换成相应的Xml以及XElement。这2篇随笔以不同的方式对Xml进行转换与匹配,每种匹配都采用不同的角度进行操作。本文主要为对象实体的转换,下篇侧重于Xml的匹配。

二、Xml转换

2.1 实体集合转换Xml

实体集合转换Xml的方法为:public static string ToXml<T>(IList<T> entities, string rootName = "") where T : new(),通过传入的实体集合对象和Xml根名称,可以转换成相应的Xml,代码如下:

public static string ToXml<T>(IList<T> entities, string rootName = "") where T : new()
        {
            if (entities == null || entities.Count == 0)
            {
                return string.Empty;
            }

            StringBuilder builder = new StringBuilder();
            builder.AppendLine(XmlResource.XmlHeader);

            XElement element = ToXElement<T>(entities, rootName);
            builder.Append(element.ToString());

            return builder.ToString();
        }

针对于实体集合的转换,转换后的结果如下:

<?xml version="1.0" encoding="utf-8" ?>
<MapperInfoSet>
  <MapperInfo>
    <Name>MapperInfoIndex0</Name>
    <CreatedTime>2012-02-19T08:54:44.9411601+08:00</CreatedTime>
    <IsActive>true</IsActive>
    <Value>0</Value>
    <Percent>50</Percent>
    <TargetUrl>www.codeplex.com?Id=0</TargetUrl>
  </MapperInfo>
  <MapperInfo>
    <Name>MapperInfoIndex1</Name>
    <CreatedTime>2012-02-19T08:54:44.9421602+08:00</CreatedTime>
    <IsActive>false</IsActive>
    <Value>1</Value>
    <Percent>50</Percent>
    <TargetUrl>www.codeplex.com?Id=1</TargetUrl>
  </MapperInfo>
</MapperInfoSet>

2.2 实体转换Xml

实体转换Xml的方法为:public static string ToXml<T>(T entity) where T : new(),通过传入的实体,可以转换成相应的Xml,代码如下:

public static string ToXml<T>(T entity) where T : new()
        {
            if (entity == null)
            {
                return string.Empty;
            }

            XElement element = ToXElement<T>(entity);

            return element.ToString();
        }

针对于单个实体的转换,转换后的结果如下:

<MapperInfo>
  <Name>MapperInfoIndex0</Name>
  <CreatedTime>2012-02-19T08:59:17.1387289+08:00</CreatedTime>
  <IsActive>true</IsActive>
  <Value>0</Value>
  <Percent>50</Percent>
  <TargetUrl>www.codeplex.com?Id=0</TargetUrl>
</MapperInfo>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索xml
, string
, 集合转换
, public
, element
, builder
, XDocument
, builder.AppendLine
, 转换string
, 实体
, java_int转换成string
转换xml
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-12-31 02:55:58

C#中实体集合和实体转换成相应的string、XDocument、XElement、XDocument的相关文章

将泛类型集合List类转换成DataTable

/// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list">泛类型集合</param> /// <returns></returns> public static DataTable ListToDataTable<T>(List<T> entitys) { //检查实体集合不能为空 if (

ios-OC中怎样将UTF8编码转换成中文

问题描述 OC中怎样将UTF8编码转换成中文 如题:有一个Person类,里面重写了description方法,实现返回姓名,年龄等信息.这样我可以直接通过NSLog(@""%@""per); 来输出对象信息.但是如果我把对象存入数组中,然后输出数组:NSLog(@""%@"" array);这样输出的结果都是UTF8编码.如果对象per内部的信息是因为和数字的话结果不受影响,如果是中文的话输出的就是UTF8.这是为什么呢?如

C#将image中的显示的图片转换成二进制

原文:C#将image中的显示的图片转换成二进制  1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才能存入数据库中. View Code //将本地图片转换成二进制保存起来 private byte[] SetImageToByteArray(string fileName) { FileStream fs = null; try { fs = new FileStream(fileName, FileM

python中,怎么在不转换成矩阵的情况下根据txt文件的某一列大小排序?

问题描述 python中,怎么在不转换成矩阵的情况下根据txt文件的某一列大小排序? python中,怎么在不转换成矩阵的情况下根据txt文件的某一列大小排序? 而且好像都是按行进行split的,我想操作的对象是列,1先按一列排序,2再提取两列,这两个都不知道该怎么做 解决方案 http://zhidao.baidu.com/link?url=sKzE1u-i3iTwADOH0IZtNcAgQAMRHE10S-_VIxUTxj7we1cglIaMCSSY_KDC6dpNYTrihBZ5GROHY

ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)

原文:ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)            对于非地理专业的开发人员,对与这些生涩的概念,我们不一定都要了解,但是我们要理解,凡是以经纬度为单位的都是地理坐标系,因为它归根结底是一个椭球体,只不过各个国家为了反映该国家所在区域地球的真实形状,而采用不同的数学模型对本不是椭球体的地球进行椭球体化.而投影坐标系,是对地理坐标系按照某种方式投影到平面上的,所以可以认为它是一个平面坐标系,单位自然是米或千米.  

JavaScript中的object转换成number或string规则介绍_javascript技巧

在JavaScript程序编写过程中,根据不同的上下文,JS会自动将object转换成number或者string后再处理.这种自动转换的规则如下: object自动转换成string的规则: 1.如果object所属类覆写了toString()方法,则调用该方法.如果toString()调用的返回结果为Primitive(string.number.boolean.undefined.null),则将该Primitive值转换成string后返回. 2.如果object所属类没有覆写toStr

c#-C#中如何把一个double转换成一个byte[],需要用到科学计算么?

问题描述 C#中如何把一个double转换成一个byte[],需要用到科学计算么? C#中如何把一个double转换成一个byte[],需要用到科学计算么? 解决方案 BitConverter.GetBytes(你的double)

C++中几种将整数转换成二进制输出的方法总结_C 语言

看<编程之美>第二节的时候,它是定义的一个整型,然后取位.但是他的那个或运算符号好像写错了,写成了异或符号"^",应该是"|".我就突然对二进制的输出感兴趣了.想知道怎样输出二进制.我们知道C++输出十六进制是cout〈〈hex〈〈 a:而八进制是cout〈〈 ocx〈〈 a;二进制则没有默认的输出格式,需要自己写函数进行转换,于是上网搜索了一下.网上思路真是广泛啊. 下面列出一些方法.  #include 〈iostream〉 #include 〈li

java-List&amp;amp;lt;实体&amp;amp;gt;怎么转换成List&amp;amp;lt;Object[]&amp;amp;gt;

问题描述 List<实体>怎么转换成List<Object[]> 我用Mybaits写的SQL返回的是一个List<实体>,可是怎么能把这个实体转换成List类型啊 解决方案 说实在的,没太看明白你的意图,有下面两个方案,仅供参考. public class TestMain1 { public static void main(String[] args) { List<Sample> list = new ArrayList<Sample>(