C#实现XML文件读取

时间:2022-06-03 15:15:42

本文实例为大家分享了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
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml.Serialization;
 
/// <summary>
/// 工具类
/// </summary>
public static class Tools {
  /// <summary>
  /// 存储数据 UTF8
  /// </summary>
  /// <param name="data">数据,自定义类</param>
  public static void SaveData(GameData data)
  {
    string fileName = Consts.DataPath; // 文件名
 
    // 文件流
    Stream stream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
    StreamWriter sw = new StreamWriter(stream, Encoding.UTF8);     // UTF8
    XmlSerializer xmlSerializer = new XmlSerializer(data.GetType());  // XML 文件序列化
    xmlSerializer.Serialize(sw, data);
 
    sw.Close();
    stream.Close();
  }
 
  /// <summary>
  /// 读取数据
  /// </summary>
  /// <returns>读取获得的数据</returns>
  public static GameData GetDataWithOutBom()
  {
    GameData data = new GameData();
 
    Stream stream = new FileStream(Consts.DataPath, FileMode.Open, FileAccess.Read);
    // 忽略标记 true
    StreamReader sr = new StreamReader(stream, true);
    XmlSerializer xmlSerializer = new XmlSerializer(data.GetType());
    data = xmlSerializer.Deserialize(sr) as GameData;
 
    sr.Close();
    stream.Close();
 
    return data;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/coderJiebao/archive/2018/04/08/CSharp06.html