应用程序启动时,加载配置文件,有两种方式解析XML,一种是XPATH,一种是用序列化,下面是用序列化:
http://www.yesky.com/20030218/1652674.shtml
1
class SerializerHelper
2
{
3
/// <summary>
4
/// 序列化:写文件,将对象序列化成文件格式的文本,这里是XML
5
/// </summary>
6
/// <param name="obj">要序列化的对象</param>
7
/// <param name="filePath">文件路径</param>
8
public void SerializeObject(object obj,string filePath)
9
{
10
TextWriter writer = new StreamWriter(filePath);
11
XmlSerializer xmlSer = new XmlSerializer(obj.GetType());
12
xmlSer.Serialize(writer, obj);
13
writer.Close();
14
}
15![](/Images/OutliningIndicators/InBlock.gif)
16
/// <summary>
17
/// 反序列化:读文件,将文件格式的文本(这里是XML)反序列化成对象
18
/// </summary>
19
/// <param name="t">对象类型</param>
20
/// <param name="filePath">文件路径</param>
21
/// <returns></returns>
22
public object DeserializeObject(Type t, string filePath)
23
{
24
TextReader reader = new StreamReader(filePath);
25
XmlSerializer xmlSer = new XmlSerializer(t);
26
return xmlSer.Deserialize(reader);
27
}
28![](/Images/OutliningIndicators/InBlock.gif)
29
/// <summary>
30
/// 反序列化:读文件,将文件格式的文本(这里是XML)反序列化成对象
31
/// </summary>
32
/// <typeparam name="TObject">范型,指所有类型</typeparam>
33
/// <param name="filePath">文件路径</param>
34
/// <returns></returns>
35
public TObject DeserializeObject<TObject>(string filePath)
36
{
37
TextReader reader = new StreamReader(filePath);
38
XmlSerializer xmlSer = new XmlSerializer(typeof(TObject));
39
return (TObject)xmlSer.Deserialize(reader);
40
}
41
}
42![](/Images/OutliningIndicators/None.gif)
43
public class SettingsHelper
44
{
45
SettingsItem 类
206![](/Images/OutliningIndicators/InBlock.gif)
207
void Deserialize()
208
{
209
SerializerHelper ser = new SerializerHelper();
210
//SettingsItem set = ser.DeserializeObject<SettingsItem>(@"ApplicationConfig\TestConfig.xml");
211
SettingsItem set = (SettingsItem)ser.DeserializeObject(typeof(SettingsItem), @"ApplicationConfig\TestConfig.xml");
212
213
Console.WriteLine(set.ApplicationTitle);
214
Console.WriteLine(set.DepartmentTitle);
215
Console.WriteLine(set.IsSingleApplication);
216
}
217![](/Images/OutliningIndicators/InBlock.gif)
218
void Serialize()
219
{
220
SerializerHelper ser = new SerializerHelper();
221
SettingsItem set = new SettingsItem();
222
set.ApplicationTitle = "dengqian";
223
set.AutoUpgrade = true;
224
set.BudgetYear = "2008";
225
set.DecimalFormatString = "######0000";
226
set.DepartmentTitle = "预算年份";
227
ser.SerializeObject(set, @"ApplicationConfig\TestConfig.xml");
228![](/Images/OutliningIndicators/InBlock.gif)
229
Console.WriteLine(set.ApplicationTitle);
230
Console.WriteLine(set.DepartmentTitle);
231
Console.WriteLine(set.IsSingleApplication);
232
}
233![](/Images/OutliningIndicators/InBlock.gif)
234
public static void main()
235
{
236
SettingsHelper helper = new SettingsHelper();
237
helper.Serialize();
238
Console.WriteLine("-----------------------");
239
helper.Deserialize();
240
}
241
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
4
![](/Images/OutliningIndicators/InBlock.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](/Images/OutliningIndicators/InBlock.gif)
11
![](/Images/OutliningIndicators/InBlock.gif)
12
![](/Images/OutliningIndicators/InBlock.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/InBlock.gif)
27
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
30
![](/Images/OutliningIndicators/InBlock.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/InBlock.gif)
34
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
37
![](/Images/OutliningIndicators/InBlock.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
41
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
42
![](/Images/OutliningIndicators/None.gif)
43
![](/Images/OutliningIndicators/None.gif)
44
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
45
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
206
![](/Images/OutliningIndicators/InBlock.gif)
207
![](/Images/OutliningIndicators/InBlock.gif)
208
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
209
![](/Images/OutliningIndicators/InBlock.gif)
210
![](/Images/OutliningIndicators/InBlock.gif)
211
![](/Images/OutliningIndicators/InBlock.gif)
212
![](/Images/OutliningIndicators/InBlock.gif)
213
![](/Images/OutliningIndicators/InBlock.gif)
214
![](/Images/OutliningIndicators/InBlock.gif)
215
![](/Images/OutliningIndicators/InBlock.gif)
216
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
217
![](/Images/OutliningIndicators/InBlock.gif)
218
![](/Images/OutliningIndicators/InBlock.gif)
219
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
220
![](/Images/OutliningIndicators/InBlock.gif)
221
![](/Images/OutliningIndicators/InBlock.gif)
222
![](/Images/OutliningIndicators/InBlock.gif)
223
![](/Images/OutliningIndicators/InBlock.gif)
224
![](/Images/OutliningIndicators/InBlock.gif)
225
![](/Images/OutliningIndicators/InBlock.gif)
226
![](/Images/OutliningIndicators/InBlock.gif)
227
![](/Images/OutliningIndicators/InBlock.gif)
228
![](/Images/OutliningIndicators/InBlock.gif)
229
![](/Images/OutliningIndicators/InBlock.gif)
230
![](/Images/OutliningIndicators/InBlock.gif)
231
![](/Images/OutliningIndicators/InBlock.gif)
232
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
233
![](/Images/OutliningIndicators/InBlock.gif)
234
![](/Images/OutliningIndicators/InBlock.gif)
235
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
236
![](/Images/OutliningIndicators/InBlock.gif)
237
![](/Images/OutliningIndicators/InBlock.gif)
238
![](/Images/OutliningIndicators/InBlock.gif)
239
![](/Images/OutliningIndicators/InBlock.gif)
240
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
241
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)