C#用于XML格式存储的工具类
最近很喜欢使用XML(C#的Linq to XML)。写个类后总想把它能用XML文件保存起来,一般我都是写个ToXElement函数然后在里面……
今天写烦了,想写一个通用的工具类,以便很方便地把一个类保存化为XML。
看看写出来的结果:
那个静态类Test是用于测试的,测试结果:
1 /************************************************************************
2 * 把一个对象格式化为XML(元素),即:
3 * 1、该XML元素的名字为该对象的类型
4 * 2、对该对象中每一个公共属性(Property)转换为字符串(String)
5 * 保存到XML元素的属性中
6 * 把一个XML粘贴到一个对象中,即为上一过程的逆过程。
7 *
8 * 对象信息保存到XML中(然后再保存到文件)很显然将具有很高的可读性
9 ************************************************************************/
10 using System;
11 using System.Collections.Generic;
12 using System.Linq;
13 using System.Text;
14 using System.Xml.Linq;
15 namespace DotNetEx.FormatAsXml
16 {
17 /// <summary>
18 /// 标识能格式化为XML,可以被用在类和结构上,不可以继承,不支持多重标记
19 /// </summary>
20 [AttributeUsage(AttributeTargets.Class|AttributeTargets.Struct, Inherited = false,
21 AllowMultiple = false)]
22 public sealed class CanFormatToXmlAttribute : Attribute
23 {
24 public CanFormatToXmlAttribute () { }
25 }
26 /// <summary>
27 /// 标识该属性不用被格式化
28 /// </summary>
29 [AttributeUsage(AttributeTargets.Property,Inherited=false,
30 AllowMultiple=false)]
31 public sealed class DonotFormatToXmlAttribute:Attribute
2 * 把一个对象格式化为XML(元素),即:
3 * 1、该XML元素的名字为该对象的类型
4 * 2、对该对象中每一个公共属性(Property)转换为字符串(String)
5 * 保存到XML元素的属性中
6 * 把一个XML粘贴到一个对象中,即为上一过程的逆过程。
7 *
8 * 对象信息保存到XML中(然后再保存到文件)很显然将具有很高的可读性
9 ************************************************************************/
10 using System;
11 using System.Collections.Generic;
12 using System.Linq;
13 using System.Text;
14 using System.Xml.Linq;
15 namespace DotNetEx.FormatAsXml
16 {
17 /// <summary>
18 /// 标识能格式化为XML,可以被用在类和结构上,不可以继承,不支持多重标记
19 /// </summary>
20 [AttributeUsage(AttributeTargets.Class|AttributeTargets.Struct, Inherited = false,
21 AllowMultiple = false)]
22 public sealed class CanFormatToXmlAttribute : Attribute
23 {
24 public CanFormatToXmlAttribute () { }
25 }
26 /// <summary>
27 /// 标识该属性不用被格式化
28 /// </summary>
29 [AttributeUsage(AttributeTargets.Property,Inherited=false,
30 AllowMultiple=false)]
31 public sealed class DonotFormatToXmlAttribute:Attribute
补充:软件开发 , C# ,