【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">要序列 ...
随机推荐
- 【转】Windons+jenkins,构建java程序,提示C:\Windows\TEMP\jenkins5037773887088486383.bat Access is denied
坑1: !!!前提:已设置本机电脑的账号密码, 解决方法:搜索程序services.msc-- 找到Jenkins-- 右键“属性”--登录--此账户--输入本机的账号密码--保存-- 停止Jenki ...
- python交互的几种方式
# 第一种交互方式 name = input("name:")age = input("age:")job = input("job:")s ...
- Git抽取版本之间的差异,打包解压
patch.sh文件代码 #!/bin/bash MY_SAVEIFS=$IFS #IFS=$(echo -en "\n\b") IFS=$'\n' build_dir=" ...
- Hi3516A开发--接触(转)
Hi3516A开发--接触
- 2600 Phrases for Effective Performance Reviews
Adaptability and Change Management Skills 适应与变革管理技能能够接受频繁的任务转换.员工适应经常在不停的切换于不同的任务中,就是正常的,就是能够正常切换自己分 ...
- 解决ping不通win7主机
之前在路由器上ping笔记本发现ping不通,但是笔记本ping路由器通,也没多想.今天想起来可能是win7的防火墙作怪,以前上课虚拟机好像也是ping不通宿主机,但是宿主机能ping通虚拟机. 简单 ...
- vueRouter 子路由嵌套
router.js import Vue from 'vue' import Router from 'vue-router' import contractPage from './views/co ...
- msgid 属性
Android源码中的String.xml文件,msgid这个属性是干嘛的? 全局资源,方便引用.比如在布局的text和activity中用到.
- 你不知道的JS(3)来聊聊this
为什么要使用this?什么是this? 来看一段代码 function identify() { return this.name.toUpperCase(); } function speak() ...
- 确定有穷自动机(DFA)的化简(最小化)
参考博客地址:https://blog.csdn.net/qq_33605778/article/details/80105658