XmlIgnore的解释和使用
XmlIgnore是一个自定义属性,用来指明在序列化时是否序列化一个属性。如下面的例子:
public class Group
{ public string GroupName;
[XmlIgnore]
public string Comments;
}
在序列化时,其结果如下所示
<?xml version="1.0" encoding="utf-8"?>
<Group xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GroupName>.Net</GroupName>
</Group>
我们可以看到,因为设置了XmlIgnore,所以Comments没有被序列化。对于已经设置了XmlIgnore的属性,也可以通过XmlAttributeOverrides 来重新第一序列化时是否需要序列化。
public XmlSerializer CreateOverrider()
{
XmlAttributeOverrides overr = new XmlAttributeOverrides();
XmlAttributes attrs = new XmlAttributes(); attrs.XmlIgnore = true;
overr.Add(typeof(Group), "Comments", attrs); attrs = new XmlAttributes();
attrs.XmlIgnore = false;
overr.Add(typeof(Group), "GroupName", attrs); XmlSerializer serilizer = new XmlSerializer(typeof(Group), overr);
return serilizer;
}
public void SerializeObject(string filename)
{
XmlSerializer serializer = CreateOverrider();
Group group = new Group();
group.GroupName = ".Net";
group.Comments = "Microsoft .net 3.5"; StreamWriter writer = new StreamWriter(filename);
serializer.Serialize(writer, group);
writer.Close();
}
这段代码,其结果与上面的相反,序列化了Comments,而不包含GroupName.
XmlIgnore的解释和使用的更多相关文章
- ZIP压缩算法详细分析及解压实例解释
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...
- 说说BPM数据表和日志表中几个状态字段的详细解释
有个客户说需要根据这些字段的值作为判断条件做一些定制化需求,所以需要知道这些字段的名词解释,以及里面存储的值具体代表什么意思 我只好为你们整理奉上这些了! Open Work Sheet 0 Sav ...
- 【完全开源】知乎日报UWP版:项目结构说明、关键源代码解释
目录 说明 项目结构 关键代码 演示视频 说明 上一篇博客将源码放出来了,但是并没有做过多的介绍,所以如果自己硬看可能需要花费很长的时间,尤其这些代码并不是自己写的.项目不算复杂但是也不算简单,这篇文 ...
- nodejs、npm、grunt——名词解释
最近着手开发一个新项目,打算从工程化的角度整理一套自己的前端开发.发布体系. grunt这些工具,之前别人用我也用,并没有认真想过它们的前世今生,正好趁着这个机会,我来理一理目前业界比较流行这些工具的 ...
- HTTP各状态码解释
状态码 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必 ...
- JavaScript中‘this’关键词的优雅解释
本文转载自:众成翻译 译者:MinweiShen 链接:http://www.zcfy.cc/article/901 原文:https://rainsoft.io/gentle-explanation ...
- XML简介与CDATA解释
简介XML 是一种受到广泛支持的 Internet 标准,用于以一种特殊的方式编码结构化数据.实际上,以 XML 编码的数据可以通过任何编程语言解码,人们甚至可以使用标准的文本编辑器来阅读或编写 XM ...
- free-简单明了解释清楚怎么看内存使用
free命令可以用来查看系统内存使用情况.我一般习惯-m参数以MB的方式查看 [root@localhost ~]# free -m total used free shared buffers ca ...
- .htaccess语法之RewriteCond与RewriteRule指令格式详细解释
htaccess语法之RewriteCond与RewriteRule指令格式详细解释 (2012-11-09 18:09:08) 转载▼ 标签: htaccess it 分类: 网络 上文htacc ...
随机推荐
- ffmpeg 把视频转换为图片
ffmpeg -i "Tail of Hope.mp4" -r 1 -q:v 2 -f image2 pic-%03d.jpeg
- day 03 作业 预科
目录 作业 1.简述变量的组成 2.简述变量名的命名规范 3.简述注释的作用 4.使用turtle库构造一幅图,贴在markdown文档中 作业 1.简述变量的组成 变量由变量名.赋值符号.变量值所组 ...
- nginx的rewrite跳转
Rewrite标记flag
- Ceph添加、删除osd及故障硬盘更换
添加或删除osd均在ceph部署节点的cent用户下的ceph目录进行. 1. 添加osd 当前ceph集群中有如下osd,现在准备新添加osd: (1)选择一个osd节点,添加好新的硬盘: (2)显 ...
- spring cloud (四) 请求熔断 feign
1 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...
- Unity进阶:行为树 01
版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...
- mysql数据库总结。
mysql MySQL语法MySQL采用结构化查询语言SQL (Structured Query Language)语言来操作数据库SQL语句必须以 ; 结束SQL语句分类DDL(数据定义语言): c ...
- TCP和UDP的常见面试题
问题1]为什么连接的时候是三次握手,关闭的时候却是四次握手? 答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文.其中ACK报文是用来应答的,SYN报文是 ...
- EasyUI之dataGrid的行内编辑
$(function () { var datagrid; //定义全局变量datagrid var editRow = undefined; //定义全局变量:当前编辑的行 datagrid = T ...
- 《团队作业第三、四周》五阿哥小组Scrum 冲刺阶段---Day2
<团队作业第三.四周>五阿哥小组Scrum 冲刺阶段---Day2 一.项目燃尽图 二.项目进展 20182310周烔今日进展: 主要任务一览:完成总博客的提交,制定接下来的计划,编写博客 ...