C#序列化匿名对象为XML
来源:互联网 发布:土耳其软糖淘宝 编辑:程序博客网 时间:2024/06/04 23:19
封装xml序列化类
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml;using System.Xml.Linq;namespace Xml.Utils{ /// <summary> /// 匿名对象序列化为XML /// </summary> public static class XmlTools { //识别需要序列化的类型 private static readonly Type[] WriteTypes = new[] { typeof(string), typeof(DateTime), typeof(Enum), typeof(decimal?), typeof(Guid),typeof(int?) }; public static bool IsSimpleType(this Type type) { return type.IsPrimitive || WriteTypes.Contains(type); } public static XElement ToXml(this object input) { return input.ToXml(null); } public static XElement ToXml(this object input, string element) { if (input == null) return null; if (string.IsNullOrEmpty(element)) element = "object"; element = XmlConvert.EncodeName(element); var ret = new XElement(element); if (input != null) { var type = input.GetType(); var props = type.GetProperties(); var elements = from prop in props let name = XmlConvert.EncodeName(prop.Name) let val = prop.GetValue(input, null) let value = prop.PropertyType.IsSimpleType() ? new XElement(name, val) : val.ToXml(name) where value != null select value; ret.Add(elements); } return ret; } }}
待序列化匿名对象
var entityuser = (from u in db.User where u.username == username select new { id = u.id, username = u.username, email = u.email, }).FirstOrDefault();
entityuser.ToXml(); //使用方法,生成默认根节点名称xml
entityuser.ToXml("user"); //生成自定义根节点名称xml
0 0
- C#序列化匿名对象为XML
- C# 对象XML序列化
- 序列化匿名对象
- C#通用类:json转换为对象,对象序列化XML
- C# json 序列化 匿名对象序列号 指定对象序列化
- 序列化对象为xml,从xml反序列化
- c# 对象序列化为XML
- 对象XML序列化
- c#序列化XML
- C# 序列化 xml
- XML序列化 C#
- C#对象的 Xml序列化与反序列化
- C# 对象的xml序列化和反序列化
- C#学习之XML中序列化对象
- C#递归生成XML文件,递归序列化对象
- c# Json 序列化后转化为对象类集合
- 序列化对象为xml文件,将xml文件反序列化为对象
- C#对象序列化
- Javascript DOM 编程艺术(second edition) 读书笔记(2)
- 文件 File
- @1224工作日志
- Servlet之监听器
- 欢迎使用CSDN-markdown编辑器
- C#序列化匿名对象为XML
- Linux进程控制
- Creating and Using a Temporary File
- 一起talk C栗子吧(第八十二回:C语言实例--简单圣诞树)
- Android SDK开发 -- TitleBar重构 (代理模式的使用)
- /etc/ld.so.conf文件
- Hdu 2037 之解题报告
- Ubuntu下为Firefox安装Adobe Flash Player
- Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] No such file or directory’错误的解决方法