Xml序列化自引用/循环引用问题2
1.类定义:
public class Student {public int ID { get; set; }public string Name { get; set; }//[XmlIgnore]public Grade Grade { get; set; } } public class Grade {public int GradeID { get; set; }public string GradeName { get; set; }public List<Student> Students { get; set; } }
2.如果子类的父类对象,不引用当前的父类对象不会抛出异常
//创建班级 Grade gradeOne = new Grade() { GradeID = 1, GradeName = "班级1" }; gradeOne.Students = new List<Student>(); //添加班级下的学生 Student stu = new Student(); stu.ID = 1; stu.Name = "张三"; //设置学生所属的班级 /** 1.如果指定学生的班级 就会抛出异常:序列化类型 Test.Grade 的对象时检测到循环引用。* 2.解决方法1:在创建的时候不指定子类对应的父类* 3.解决方法2:在子类的父类对象属性,添加[XmlIgnore]*/ stu.Grade = gradeOne; gradeOne.Students.Add(stu); XmlSerializer xmls = new XmlSerializer(gradeOne.GetType()); string content; using (MemoryStream ms = new MemoryStream()) {xmls.Serialize(ms, gradeOne);ms.Position = 0;using (StreamReader reader = new StreamReader(ms)){content = reader.ReadToEnd();} } Console.WriteLine(content);
转载于:https://www.cnblogs.com/tianma3798/p/5481593.html
Xml序列化自引用/循环引用问题2相关推荐
- 解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json
1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2: ...
- 解决FastJson中“$ref 循环引用检测”的问题的几种方式
一.现象: 项目中用json形式来存储一个集合对象,用fastjson发现多了一些东西:$ref,了解之后才发现是重复引用的问题. [{"id":"1",&qu ...
- Atitit.json xml 序列化循环引用解决方案json
Atitit.json xml 序列化循环引用解决方案json 1. 循环引用1 2. 序列化循环引用解决方法1 2.1. 自定义序列化器1 2.2. 排除策略1 2.3. 设置序列化层次,一般3级别 ...
- 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用
学习 EF Code First+MVC 时遇到了在请求JsonResult时出现 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用 的异常,原因 ...
- 序列化类型为XX的对象时检测到循环引用
现象描述: MVC4中将dataTable转换成Json时,总是提示错误:"序列化类型为"System.Reflection.RuntimeModule"的对象时检测到循 ...
- 检测到JSON.NET错误类型的自引用循环
本文翻译自:JSON.NET Error Self referencing loop detected for type I tried to serialize POCO class that wa ...
- 关于在Webservice里使用LinqToSQL遇到一对多关系的父子表中子表需要ToList输出泛型而产生循环引用错误的解决办法!(转)...
做一个网站时,有2个表,是一对多的关系 然后用生成器自动生成了一个LINQ To SQL类,然后查询子表时 由于子表里也有个父表的属性,所以当把查询的结果ToList时 又通过Webservice输出 ...
- GSON 循环引用的对象转为 JSON 造成栈溢出
对象转 JSON 可能引发栈溢出的异常,一般是因为对象中的循环引用引起不断递归. 常见的作法就是: 换一种 JSON 的序列化工具,比如 fastjson 默认支持消除对同一对象循环引用 transi ...
- JPA一对多循环引用的解决
说是解决,其实不是很完美的解决的,写出来只是想记录一下这个问题或者看一下有没有哪位仁兄会的,能否知道一二. 下面说说出现问题: 问题是这样的,当我查询一个一对多的实体的时候,工具直接就爆了,差不多我就 ...
最新文章
- 2014-3-6 星期四 [第一天执行分析]
- jittor和pytorch生成网络对比之sgan
- Hibernate中的核心接口query接口用法
- linux 定时器中断 imx,NXP iMX8 存储性能测试
- 基于IdentityServer4的OIDC实现单点登录(SSO)原理简析
- swoole 服务端heartbeat_check_interval心跳检测 客户端 swoole_timer_tick 发送心跳包 这里只是个demo参考
- 中国塑料加工机械市场趋势报告、技术动态创新及市场预测
- 基于Boost无锁队列实现的内存池
- 使用下面的方法有利于提高JS代码的执行效率
- 20200123每日一句
- linux 批量修改文件后缀名
- 【COS】函数使用技巧
- windows开代理服务器
- build constraints exclude all Go file GOland 导入“github.com/gin-gonic/gin“ 报红,
- 注册表操作,reg脚本简单编写
- 奇安信天擎卸载密码_【web安全】记奇安信“渗透测试”培训
- 天下3各服务器最新互转查询,转服必看 大荒最新服务器火爆度排行榜
- 线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)
- 异构计算, GPU和框架选型指南
- 母亲节快乐flash动画素材
热门文章
- shell条件检查原理:command echo ‘success‘ || echo ‘error‘
- windows netstat taskkill命令 操作进程
- easyUI的使用.datagrid()生成列表日期时间显示异常,一个方法带入有效修复
- 群签名和环签名的区别_苹果企业签名和苹果超级签名的区别
- 服务器文件重命名称,在服务器重命名文件与Python
- python【字符串】【转义符】【下标】【切片】【遍历】
- python动态图表变化_Python数据可视化 pyecharts实现各种统计图表过程详解
- VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator
- pytorch学习笔记(二十八):循环神经网络的从零开始实现
- PicoDet的学习笔记