【C#】【对象转XML】xml序列化
笔记:xml序列化
/// <summary>
/// xml序列化
/// </summary>
/// <param name="root"></param>
/// <param name="dic"></param>
/// <returns></returns>
private static XElement XmlSerialize(string root,Dictionary<string, object> dic)
{ XElement el = new XElement(root,
dic.Select(kv => new XElement(kv.Key, kv.Value)));
return el;
} private static List<XElement> XmlSerialize(Dictionary<string, object> dic)
{
List<XElement> list = new List<XElement>();
foreach (var item in dic)
{
list.Add(new XElement(item.Key, item.Value));
}
return list;
}
序列化使用示例
Dictionary<string, object> apigDic = new Dictionary<string, object>();
Dictionary<string, object> paramDic= new Dictionary<string, object>();
Dictionary<string, object> transDic= new Dictionary<string, object>();
apigDic.Add("INFO", XmlSerialize(paramDic));
apigDic.Add("TRANS", XmlSerialize(transDic));
string xmlStr = XmlSerialize("APIG",apigDic).ToString();
反序列化:
private static Dictionary<string, object> XmlDeSerialize(string xml)
{
XElement rootElement;
try
{
rootElement = XElement.Parse(xml);
}
catch (Exception)
{
return null;
} Dictionary<string, object> dict = new Dictionary<string, object>();
foreach (var el in rootElement.Elements())
{ var el2=XmlDeSerialize(el.ToString());
if (el2 == null || el2.Count==)
dict.Add(el.Name.LocalName, el.Value);
else
dict.Add(el.Name.LocalName, el2);
}
return dict;
}
【C#】【对象转XML】xml序列化的更多相关文章
- 复杂 XML 的 序列化 反序列化
已知.xml(再此命名default.xml)文件,请将其反序列化到一个实例对象. <?xml version="1.0" encoding="utf-8" ...
- 通过XmlSerializer 实现XML的序列化与反序列化
通过XmlSerializer 我们可以十分简单的将Model与XML进行转换 官文在点这里 帮助类 using System; using System.Text; using System.Xml ...
- WebApi2官网学习记录---JSON与XML的序列化
JSON序列化: WebAPI的默认序列库使用的是Json.NET,可以在Globally中配置使用DataContractJsonSerializer 进行序列化 protected void Ap ...
- XML的序列化和反序列化 详细介绍
为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储 ...
- windows phone8.1:Xml,Json序列化和反序列化
原文:windows phone8.1:Xml,Json序列化和反序列化 小梦本例主要实现以下四点内容: 将Car对象序列化为xml 将Car对象序列化为Json 将xml反序列化为Car对象 将js ...
- XML的序列化与反序列化
开发时会把数据持久化成xml格式,当然可以用xmlwriter来实现,不过感觉不方便,而且很繁琐.推荐使用直接序列化.反序列化对象的方法来处理. 直接上代码: public static class ...
- C#实现复杂XML的序列化与反序列化
已知.xml(再此命名default.xml)文件,请将其反序列化到一个实例对象. Default.XML文件如下: <?xml version="1.0" encoding ...
- C#对象序列化成XML,以及自定义标签名
C#对象序列化操作: public class XMLHelper { /// <summary> /// 对象序列化成 XML String /// </summary> p ...
- (转)C# Xml进行序列化与反序列化
---------------------------------------------------------------文章1---------------------------------- ...
- C#.net XML的序列化与反序列化
/// <summary> /// 将一个对象序列化为XML字符串 /// </summary> /// <param name="o">要序列 ...
随机推荐
- codeforces-5
这题可害苦了我最后用了大哥的代码才过的 Diverse String #include<iostream> #include<cstdio> #include<strin ...
- RNA-seq标准化
你的 heatmap 可能用错数据了 (组间表达量标准化) http://www.genek.tv/article/24 RNA-seq的标准化方法罗列 https://www.jianshu.com ...
- IT题库7-线程加锁
转载:http://www.cnblogs.com/linjiqin/p/3208843.html 一.同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏.例如:两个线程T ...
- (cvpr2019) The Degradation Model and Solution of DPSR
新的退化模型: $y = (x\downarrow_{s}) \otimes k + n $ 其中$\downarrow_{s}$代表尺度因子为$s$的双三次下采样,$y$表达的是低分辨率图像(经过双 ...
- Navicat Premium 简体中文版 12.0.16 以上版本国外官网下载地址(非国内)
国内Navicat网址是:http://www.navicat.com.cn 国外Navicat网址是:http://www.navicat.com 国外的更新比国内的快,而且同一个版本,国内和国外下 ...
- Goland开发工具安装教程
开发工具: 文本类的编辑器:记事本,notepad,sublime text,atom... 通过命令执行程序 IED:集成开发环境(integrated development environmen ...
- Spring Cloud Zuul 中文文件上传乱码
原文地址:https://segmentfault.com/a/1190000011650034 1 描述 使用Spring Cloud Zuul进行路由转发时候吗,文件上传会造成中文乱码“?”.1. ...
- python generator用法
转自:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196510 ...
- 论文笔记:ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware
ProxylessNAS: Direct Neural Architecture Search on Target Task and Hardware 2019-03-19 16:13:18 Pape ...
- wireshark基础学习—第二部分wireshark的基础操作
抓取报文: 下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包.例如,如果想要在无线网络上抓取流量,点击无线接口.点击Capture Opti ...