【C#】xml序列化及反序列化

简介:

序列化类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using  System;
using  System.Collections.Generic;
using  System.IO;
using  System.Linq;
using  System.Text;
using  System.Threading.Tasks;
using  System.Xml.Serialization;
 
namespace  ConsoleApplication31
{
     class  Program
     {
         
 
         static  void  Main( string [] args)
 
         {
 
             Student stu =  new  Student()
             {
                 Age = 10,
                 Class =  "Class One" ,
                 Name =  "Tom" ,
                 Number = 1
             };
             XmlSerializer ser =  new  XmlSerializer( typeof (Student));
             ser.Serialize(File.Create( "D:\\temp\\x.xml" ), stu);
 
         }
     }
 
     public  class  People
     {
         [XmlAttribute( "NAME" )]
         public  string  Name
         set get ; }
         [XmlAttribute( "AGE" )]
         public  int  Age
         set get ; }
     }
 
     [XmlRoot( "Root" )]
     public  class  Student : People
     {
         [XmlElement( "CLASS" )]
         public  string  Class
         set get ; }
         [XmlElement( "NUMBER" )]
         public  int  Number
         set get ; }
     }
}


序列化List类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using  System;
using  System.Collections.Generic;
using  System.IO;
using  System.Linq;
using  System.Text;
using  System.Threading.Tasks;
using  System.Xml.Serialization;
 
namespace  ConsoleApplication31
{
     class  Program
     {
         
 
         static  void  Main( string [] args)
 
         {
             List<Student> ls =  new  List<Student>();
             Student stu1 =  new  Student()
             {
                 Age = 10,
                 Class =  "Class One" ,
                 Name =  "Tom" ,
                 Number = 1
             };
 
             Student stu2 =  new  Student()
             {
                 Age = 20,
                 Class =  "Class Two" ,
                 Name =  "Daniel" ,
                 Number = 2
             };
 
             ls.Add(stu1);
             ls.Add(stu2);
 
             XmlSerializer ser =  new  XmlSerializer( typeof (List<Student>));
             ser.Serialize(File.Create( "D:\\temp\\listx.xml" ), ls);
 
         }
     }
 
     public  class  People
     {
         [XmlAttribute( "NAME" )]
         public  string  Name
         set get ; }
         [XmlAttribute( "AGE" )]
         public  int  Age
         set get ; }
     }
 
     [XmlRoot( "Root" )]
     public  class  Student : People
     {
         [XmlElement( "CLASS" )]
         public  string  Class
         set get ; }
         [XmlElement( "NUMBER" )]
         public  int  Number
         set get ; }
     }
}


参考链接:

http://blog.csdn.net/wem520/article/details/9192415




      本文转自daniel8294 51CTO博客,原文链接:http://blog.51cto.com/acadia627/1929564,如需转载请自行联系原作者




相关文章
|
12月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
142 1
|
12月前
|
XML JSON 数据处理
C# 中的 XML 与 JSON 数据处理
在现代软件开发中,数据交换和存储需求日益增长,XML 和 JSON 成为最常用的数据格式。本文从 C# 角度出发,详细介绍如何处理这两种格式,并提供示例代码。对于 XML,我们介绍了读取、创建和写入 XML 文件的方法;对于 JSON,则展示了如何使用 Newtonsoft.Json 库进行数据解析和序列化。此外,文章还总结了常见问题及其解决方案,帮助开发者更好地应对实际项目中的挑战。
314 61
C# 中的 XML 与 JSON 数据处理
|
存储 C# 数据库
解决C#对Firebase数据序列化失败的难题
在游戏开发中,Unity结合Firebase实时数据库为开发者提供强大支持,但在C#中进行数据序列化和反序列化时常遇难题。文章剖析了数据丢失或反序列化失败的原因,并给出解决方案,包括使用`JsonUtility`、确保字段标记为`[Serializable]`以及正确配置网络请求。示例代码演示了如何在Unity环境中实现Firebase数据的序列化和反序列化,并通过设置代理IP、Cookies和User-Agent来增强网络请求的安全性。这些技巧有助于确保数据完整传输,提升开发效率。
161 2
解决C#对Firebase数据序列化失败的难题
|
11月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
419 0
|
11月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
1928 0
|
XML 存储 C#
C# xml文档反序列化记事
本文介绍了使用XmlSerializer进行XML序列化和反序列化的关键点。包括:1) 以独占方式读取XML文件以避免并发问题;2) 当元素名与类型名不一致时,可通过`[XmlArrayItem]`指定元素名,或创建继承自原始类型的子类;3) 处理DateTime反序列化错误,通过中间字符串属性转换;4) 提到了常用C#特性如`[XmlRoot]`, `[XmlElement]`, `[XmlAttribute]`, `[XmlIgnore]`和`[XmlArrayItem]`的作用。
138 0
|
4月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
11月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
216 1
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
10月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
753 8

相关课程

更多