当前位置 : 主页 > 编程语言 > c语言 >

C#实现XML文件读取

来源:互联网 收集:自由互联 发布时间:2021-05-17
本文实例为大家分享了C#实现XML文件读取的具体代码,供大家参考,具体内容如下 using System.Collections;using System.Collections.Generic;using System.IO;using System.Text;using System.Xml.Serialization;/// summa

本文实例为大家分享了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;
  }
}

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

网友评论