一、前言
上篇随笔主要是针对于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罗,以便于您获取更多的相关知识。