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相关推荐

  1. 解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json

    1..Net开源Json序列化工具Newtonsoft.Json中提供了解决序列化的循环引用问题: 方式1:指定Json序列化配置为 ReferenceLoopHandling.Ignore 方式2: ...

  2. 解决FastJson中“$ref 循环引用检测”的问题的几种方式

    一.现象: 项目中用json形式来存储一个集合对象,用fastjson发现多了一些东西:$ref,了解之后才发现是重复引用的问题. [{"id":"1",&qu ...

  3. Atitit.json xml 序列化循环引用解决方案json

    Atitit.json xml 序列化循环引用解决方案json 1. 循环引用1 2. 序列化循环引用解决方法1 2.1. 自定义序列化器1 2.2. 排除策略1 2.3. 设置序列化层次,一般3级别 ...

  4. 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用

    学习 EF Code First+MVC 时遇到了在请求JsonResult时出现 序列化类型 System.Data.Entity.DynamicProxies 的对象时检测到循环引用 的异常,原因 ...

  5. 序列化类型为XX的对象时检测到循环引用

    现象描述: MVC4中将dataTable转换成Json时,总是提示错误:"序列化类型为"System.Reflection.RuntimeModule"的对象时检测到循 ...

  6. 检测到JSON.NET错误类型的自引用循环

    本文翻译自:JSON.NET Error Self referencing loop detected for type I tried to serialize POCO class that wa ...

  7. 关于在Webservice里使用LinqToSQL遇到一对多关系的父子表中子表需要ToList输出泛型而产生循环引用错误的解决办法!(转)...

    做一个网站时,有2个表,是一对多的关系 然后用生成器自动生成了一个LINQ To SQL类,然后查询子表时 由于子表里也有个父表的属性,所以当把查询的结果ToList时 又通过Webservice输出 ...

  8. GSON 循环引用的对象转为 JSON 造成栈溢出

    对象转 JSON 可能引发栈溢出的异常,一般是因为对象中的循环引用引起不断递归. 常见的作法就是: 换一种 JSON 的序列化工具,比如 fastjson 默认支持消除对同一对象循环引用 transi ...

  9. JPA一对多循环引用的解决

    说是解决,其实不是很完美的解决的,写出来只是想记录一下这个问题或者看一下有没有哪位仁兄会的,能否知道一二. 下面说说出现问题: 问题是这样的,当我查询一个一对多的实体的时候,工具直接就爆了,差不多我就 ...

最新文章

  1. 2014-3-6 星期四 [第一天执行分析]
  2. jittor和pytorch生成网络对比之sgan
  3. Hibernate中的核心接口query接口用法
  4. linux 定时器中断 imx,NXP iMX8 存储性能测试
  5. 基于IdentityServer4的OIDC实现单点登录(SSO)原理简析
  6. swoole 服务端heartbeat_check_interval心跳检测 客户端 swoole_timer_tick 发送心跳包 这里只是个demo参考
  7. 中国塑料加工机械市场趋势报告、技术动态创新及市场预测
  8. 基于Boost无锁队列实现的内存池
  9. 使用下面的方法有利于提高JS代码的执行效率
  10. 20200123每日一句
  11. linux 批量修改文件后缀名
  12. 【COS】函数使用技巧
  13. windows开代理服务器
  14. build constraints exclude all Go file GOland 导入“github.com/gin-gonic/gin“ 报红,
  15. 注册表操作,reg脚本简单编写
  16. 奇安信天擎卸载密码_【web安全】记奇安信“渗透测试”培训
  17. 天下3各服务器最新互转查询,转服必看 大荒最新服务器火爆度排行榜
  18. 线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)
  19. 异构计算, GPU和框架选型指南
  20. 母亲节快乐flash动画素材

热门文章

  1. shell条件检查原理:command echo ‘success‘ || echo ‘error‘
  2. windows netstat taskkill命令 操作进程
  3. easyUI的使用.datagrid()生成列表日期时间显示异常,一个方法带入有效修复
  4. 群签名和环签名的区别_苹果企业签名和苹果超级签名的区别
  5. 服务器文件重命名称,在服务器重命名文件与Python
  6. python【字符串】【转义符】【下标】【切片】【遍历】
  7. python动态图表变化_Python数据可视化 pyecharts实现各种统计图表过程详解
  8. VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator
  9. pytorch学习笔记(二十八):循环神经网络的从零开始实现
  10. PicoDet的学习笔记