本文实例为大家分享了C#实现XML文件读取的具体代码,供大家参考,具体内容如下

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;
  }
}

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。