笔记: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序列化的更多相关文章

  1. 复杂 XML 的 序列化 反序列化

    已知.xml(再此命名default.xml)文件,请将其反序列化到一个实例对象. <?xml version="1.0" encoding="utf-8" ...

  2. 通过XmlSerializer 实现XML的序列化与反序列化

    通过XmlSerializer 我们可以十分简单的将Model与XML进行转换 官文在点这里 帮助类 using System; using System.Text; using System.Xml ...

  3. WebApi2官网学习记录---JSON与XML的序列化

    JSON序列化: WebAPI的默认序列库使用的是Json.NET,可以在Globally中配置使用DataContractJsonSerializer 进行序列化 protected void Ap ...

  4. XML的序列化和反序列化 详细介绍

    为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储 ...

  5. windows phone8.1:Xml,Json序列化和反序列化

    原文:windows phone8.1:Xml,Json序列化和反序列化 小梦本例主要实现以下四点内容: 将Car对象序列化为xml 将Car对象序列化为Json 将xml反序列化为Car对象 将js ...

  6. XML的序列化与反序列化

    开发时会把数据持久化成xml格式,当然可以用xmlwriter来实现,不过感觉不方便,而且很繁琐.推荐使用直接序列化.反序列化对象的方法来处理. 直接上代码: public static class ...

  7. C#实现复杂XML的序列化与反序列化

    已知.xml(再此命名default.xml)文件,请将其反序列化到一个实例对象. Default.XML文件如下: <?xml version="1.0" encoding ...

  8. C#对象序列化成XML,以及自定义标签名

    C#对象序列化操作: public class XMLHelper { /// <summary> /// 对象序列化成 XML String /// </summary> p ...

  9. (转)C# Xml进行序列化与反序列化

    ---------------------------------------------------------------文章1---------------------------------- ...

  10. C#.net XML的序列化与反序列化

    /// <summary> /// 将一个对象序列化为XML字符串 /// </summary> /// <param name="o">要序列 ...

随机推荐

  1. No module named 'pip._internal'

    报错: Traceback (most recent call last):File "/home/myuser/.local/bin/pip", line 7, in <m ...

  2. audio google play()

    <audio id="music" src="" preload loop="loop" autostart="true&q ...

  3. Excel坐标自动在AutoCad绘图_5

    众所周知,Excel对数据处理的功能非常强大,它可以进行数据处理.统计分析已经辅助决策的操作,该软件已经渗透到各个领域.作为一个测绘人,GISer, 也经常利用excel完成一些测量表格的自动化计算, ...

  4. http协议中的响应代码从 1xx ~ 5xx,一共有41种

    http协议中的响应代码从 1xx ~ 5xx,一共有41种 http://how2j.cn/k/http/http-response-code/572.html

  5. 实际用到的linux小方法

    2019.4.261.解决ssh端中文乱码 (1).查看系统(window)的字符集,在命令行界面顶端空白处,右键->属性->选项   底端查看即可. (2).ssh上查看系统支持的字符集 ...

  6. poi 设置单元格公式

    Cell cell= rowF2.createCell(18);cell.setCellFormula("=Q20*R20");

  7. tomcat1(servlet,http,socket)

    1.servlet容器是如何工作的? a.创建一个request对象,用可能会在调用的Servlet中使用到的信息填充该request对象(参数,头,cookies,查询字符串,URI等).reque ...

  8. java之过滤器

    form.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" page ...

  9. jdbc之工具类DBUtil的使用

    首先回顾一下jdbc的使用方法: 1. 注册驱动 2. 建立连接 3. 建立statement 4. 定义sql语句 5. 执行sql语句,如果执行的是查询需遍历结果集 6. 关闭连接 其中建立连接和 ...

  10. 制作用户登录界面(JAVA实现)

    设计实现如图所示的个人信息注册.包含单选按钮.多选按钮.下拉框事件. Zuoye类: package example02; import java.awt.event.ActionEvent; imp ...