当前位置: 首页 > news >正文

南昌市网站建设公司常见的网站首页布局有哪几种

南昌市网站建设公司,常见的网站首页布局有哪几种,西安引流推广公司,毕业设计题目怎么选题这篇随笔对应的.Net命名空间是System.Xml.Serialization#xff1b;文中的示例代码需要引用这个命名空间。 为什么要做序列化和反序列化#xff1f;.Net程序执行时#xff0c;对象都驻留在内存中#xff1b;内存中的对象如果需要传递给其他系统使用#xff1b;或者在关机时… 这篇随笔对应的.Net命名空间是System.Xml.Serialization文中的示例代码需要引用这个命名空间。 为什么要做序列化和反序列化 .Net程序执行时对象都驻留在内存中内存中的对象如果需要传递给其他系统使用或者在关机时需要保存下来以便下次再次启动程序使用就需要序列化和反序列化。 范围本文只介绍xml序列化其实序列化可以是二进制的序列化也可以是其他格式的序列化。 看一段最简单的Xml序列化代码 1 2 3 4 5 6 7 8 9 10 11 12 class Program {     static void Main(string[] args)     {         int i 10;         //声明Xml序列化对象实例serializer         XmlSerializer serializer new XmlSerializer(typeof(int));         //执行序列化并将序列化结果输出到控制台         serializer.Serialize(Console.Out, i);         Console.Read();     } } 上面代码对int i进行了序列化并将序列化的结果输出到了控制台输出结果如下 ?xml version1.0 encodinggb2312? int10/int 可以将上述序列化的xml进行反序列化如下代码 static void Main(string[] args) {using (StringReader rdr new StringReader(?xml version1.0 encodinggb2312? int10/int)){//声明序列化对象实例serializer XmlSerializer serializer new XmlSerializer(typeof(int));//反序列化并将反序列化结果值赋给变量iint i (int)serializer.Deserialize(rdr);//输出反序列化结果Console.WriteLine(i i);Console.Read();} } 以上代码用最简单的方式说明了xml序列化和反序列化的过程.Net系统类库为我们做了大量的工作序列化和反序列化都非常简单。但是在现实中业务需求往往比较复杂不可能只简单的序列化一个int变量显示中我们需要对复杂类型进行可控制的序列化。 自定义对象的Xml序列化 System.Xml.Serialization命名空间中有一系列的特性类用来控制复杂类型序列化的控制。例如XmlElementAttribute、XmlAttributeAttribute、XmlArrayAttribute、XmlArrayItemAttribute、XmlRootAttribute等等。 看一个小例子有一个自定义类CatCat类有三个属性分别为ColorSayingSpeed。 namespace UseXmlSerialization {class Program{static void Main(string[] args){//声明一个猫咪对象var c new Cat { Color White, Speed 10, Saying White or black, so long as the cat can catch mice, it is a good cat };//序列化这个对象XmlSerializer serializer new XmlSerializer(typeof(Cat));//将对象序列化输出到控制台serializer.Serialize(Console.Out, c);Console.Read();}}[XmlRoot(cat)]public class Cat{//定义Color属性的序列化为cat节点的属性[XmlAttribute(color)]public string Color { get; set; }//要求不序列化Speed属性[XmlIgnore]public int Speed { get; set; }//设置Saying属性序列化为Xml子元素[XmlElement(saying)]public string Saying { get; set; }} } 可以使用XmlElement指定属性序列化为子节点默认情况会序列化为子节点或者使用XmlAttribute特性制定属性序列化为Xml节点的属性还可以通过XmlIgnore特性修饰要求序列化程序不序列化修饰属性。   对象数组的Xml序列化 数组的Xml序列化需要使用XmlArrayAttribute和XmlArrayItemAttributeXmlArrayAttribute指定数组元素的Xml节点名XmlArrayItemAttribute指定数组元素的Xml节点名。 如下代码示例 /*玉开技术博客 http://www.cnblogs.com/yukaizhao */ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Serialization;namespace UseXmlSerialization {class Program{static void Main(string[] args){//声明一个猫咪对象var cWhite new Cat { Color White, Speed 10, Saying White or black, so long as the cat can catch mice, it is a good cat };var cBlack new Cat { Color Black, Speed 10, Saying White or black, so long as the cat can catch mice, it is a good cat };CatCollection cc new CatCollection { Cats new Cat[] { cWhite,cBlack} };//序列化这个对象XmlSerializer serializer new XmlSerializer(typeof(CatCollection));//将对象序列化输出到控制台serializer.Serialize(Console.Out, cc);Console.Read();}}[XmlRoot(cats)]public class CatCollection{[XmlArray(items),XmlArrayItem(item)]public Cat[] Cats { get; set; }}[XmlRoot(cat)]public class Cat{//定义Color属性的序列化为cat节点的属性[XmlAttribute(color)]public string Color { get; set; }//要求不序列化Speed属性[XmlIgnore]public int Speed { get; set; }//设置Saying属性序列化为Xml子元素[XmlElement(saying)]public string Saying { get; set; }} } 以上代码将输出 ?xml version1.0 encodinggb2312? cats xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:xsdhttp://ww w.w3.org/2001/XMLSchemaitemsitem colorWhitesayingWhite or black, so long as the cat can catch mice, it is a good cat/saying/itemitem colorBlacksayingWhite or black, so long as the cat can catch mice, it is a good cat/saying/item/items /catsXmlSerializer内存泄漏问题 多谢chenlulouis仔细看了下msdn确实存在泄漏的情况msdn说明如下 动态生成的程序集 为了提高性能XML 序列化基础结构将动态生成程序集以序列化和反序列化指定类型。此基础结构将查找并重复使用这些程序集。此行为仅在使用以下构造函数时发生 XmlSerializer(Type) XmlSerializer.XmlSerializer(Type, String) 如果使用任何其他构造函数则会生成同一程序集的多个版本且绝不会被卸载这将导致内存泄漏和性能降低。最简单的解决方案是使用先前提到的两个构造函数的其中一个。否则必须在 Hashtable 中缓存程序集如以下示例中所示。 也就是说我们在使用XmlSerializer序列化初始化XmlSerializer对象时最好使用下面两个构造函数否则会引起内存泄漏。XmlSerializer(Type)XmlSerializer.XmlSerializer(Type, String) C#处理Xml的相关随笔 转载于:https://www.cnblogs.com/goody9807/p/3934892.html
http://www.yutouwan.com/news/253670/

相关文章:

  • 400电话实名制认证网站wordpress单页留言板
  • 营口工程建设信息网站个人手机版网站app怎么做
  • 山东网站推广公司北京网页设计公司哪儿济南兴田德润简介
  • 网站建设需要注意什么赤峰城乡建设局网站
  • 建设网站宽度最好是多少网站分析 工具
  • 广州做外贸网站建设好看的企业网站模板
  • 天津市免费建站网站详细设计
  • 邯郸建设企业网站十大装饰公司排行榜
  • 网站的栏目建设在哪里知识库管理系统解决方案
  • 学做吃的的网站wordpress怎么更改域名
  • 阜阳做网站创业做旅游网站
  • 重庆有的设计网站网站建设销售客户开发
  • 专做恐怖片的网站在哪些网站可以做企业名称预审
  • 汕头网站制作怎么做做视频网站服务器怎么选择
  • 介绍几个网站杨凌住房和城乡建设局网站
  • 做毕设的网站wap网站源码 下载
  • 如何查网站的空间东莞市网络公司
  • 北京城乡建设学校网站昆明商城网站建设
  • 零基础学做网站教程湖南省网站备案登记
  • 中网互联网站建设南宁百度推广seo
  • 做网站的文案是指七台河建设网站
  • 做京挑客的网站有哪些零基础1小时快速建站
  • 瀑布式网站科技袁人袁岚峰
  • 中国大良网站建设网页界面设计的要求
  • 清流县建设局网站图片站wordpress
  • 建设视频网站链接百度云盘apicloud官网下载
  • 公司做公司网站广告一个地址能注册几个公司
  • 网站推广策划包含的内容做网站的工作
  • 作文大全网站链接建设银行网站用户密码找回
  • 静态网站分页wordpress主题制作导航