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 = , GradeName = "班级1" };
gradeOne.Students = new List<Student>();
//添加班级下的学生
Student stu = new Student();
stu.ID = ;
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 = ;
using (StreamReader reader = new StreamReader(ms))
{
content = reader.ReadToEnd();
}
}
Console.WriteLine(content);

Xml序列化自引用/循环引用问题2的更多相关文章

  1. Xml序列化自引用/循环引用问题1

    1.定义类 public class Student { public int ID { get; set; } public string Name { get; set; } //[XmlIgno ...

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

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

  3. EntityFramework中Json序列化的循环引用问题解决--Newtonsoft.Json

    1.在使用EF时,由于数据库主外键关联,将对象进行Json序列化时会遇到循环引用的问题 //EF 中由于数据库主外键关联,对象的序列化经常出现循环引用问题 //使用.Net 自带的序列化工具,序列化出 ...

  4. 一个C#序列化时循环引用的问题

    以前一直没搞懂为什么C#在做对象序列化时(Json序列化,XML序列化等)有时候会出现循环引用的问题,下面写了个例子,类People有一个属性引用了类Child,而类Child也有一个属性引用了类Pe ...

  5. Wcf序列化的循环引用问题1

    1.Wcf数据契约序列化,使用的类DataContractSerializer 默认如果类不指定[DataContract],则序列化类的所有字段,并且在出现循环引用的时候回抛出异常,服务终止 msd ...

  6. lua序列化(支持循环引用)

    lua序列化 支持key类型为string, number 支持value类型为string, number, table, boolean 支持循环引用 支持加密序列化 支持loadstring反序 ...

  7. WebApi-JSON序列化循环引用

    Overview 最近被序列化,循环引用的问题,让我浑身酸爽.遇到这种异常是在搭建WebApi的时候,当我返回Linq实例类集合的时候出现的. 下定决心要解决这个问题.循环引用引起的原因是: 比如说: ...

  8. 解决.Net MVC EntityFramework Json 序列化循环引用问题.

    以前都是到处看博客,今天小菜也做点贡献,希望能帮到大家. 废话不多说,直接进入正题. 用过.net MVC的同学应该都被json序列化报循环引用错误这个问题骚扰过.网上有一些解决办法,但是都治标不治本 ...

  9. 解决ASP.NET MVC返回的JsonResult 中 日期类型数据格式问题,和返回的属性名称转为“驼峰命名法”和循环引用问题

    DateTime类型数据格式问题 问题 在使用ASP.NET MVC 在写项目的时候发现,返回给前端的JSON数据,日期类型是 Date(121454578784541) 的格式,需要前端来转换一下才 ...

随机推荐

  1. strtolower() strtoupper()等字符串大小写转换函数

    $str = "Mary Had A Little Lamb and She LOVED It So"; string strtolower ( string $str )— 将字 ...

  2. js 点名

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. JQuery 左右拖动插件

    js文件:http://hokaccha.github.io/js-flipsnap/js/flipsnap.js 官网: http://hokaccha.github.io/js-flipsnap/

  4. memcache 数据库信息存储到数据库减少IO 操作

    在实际应用中,通常会把数据库查询的结果集保存到 memcached 中,下次访问时直接从 memcached 中获取,而不再做数据库查询操作,这样可以在很大程度上减轻数据库的负担.通常会 将 SQL ...

  5. phonegap学习入门

    phonegap 开发入门 PhoneGap官方网站上有详细的入门示例教程,这里,我针对使用PhoneGap进行Android移动应用的开发对其官网的Get Started进行一些介绍.补充. Ste ...

  6. mongodb 教程一

    mongodb是nosql(not only sql)的一种方式 .是对不同于传统的关系型数据库的数据库管理系统的统称. NoSQL - 代表着不仅仅是SQL- 没有声明性查询语言- 没有预定义的模式 ...

  7. 转:ElasticSearch 插件安装

    原文来自于:http://www.07net01.com/linux/Elasticsearch_chajiananzhuang_21257_1350993328.html 进入elasticsear ...

  8. poj 2777Count Color

    http://poj.org/problem?id=2777 注意:a可能比b大 #include <cstdio> #include <cstring> #include & ...

  9. redis-cli批量删除时的坑

    redis-cli keys "*"|xargs redis-cli del tips: keys后面的*号,必须要加双引号,不然删不掉 # redis-cli keys *|xa ...

  10. (2015年郑州轻工业学院ACM校赛题)H 五子棋

    我们最后选题策略失败,选到五子棋这题,没想到这题非常麻烦,最后也没做出来! 比赛结束后发了题解再做才做出来! 不得不说 这题真的很麻烦 一个需要比较细致分类讨论的题目.判定棋盘是否合法应考虑如下几种情 ...